| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash经验技巧 > 文章正文 用户登录
关于blog程序的几
iPlus广告联盟:4
弈天广告联盟关于
Poco免费提供个人
网络幼虫:关于我的
关于╃木蚂蚁㊣的
关于web2.0盈利模
关于网站定位,寻找
关于关于IT创业的
关于个人网站发展

关于color对象的使用方法           

关于color对象的使用方法

作者:佚名 来源:闪吧 作者: 生活还要继续 更新:2007-1-13 20:59:19 错误报告 我要投稿

    最近在做一些实例时经常用到关于color对象的几种方法,开始也是一头雾水,也在闪吧发过求助帖子(在此对支书给予的帮助表示感谢),经过多次试验和练习,现在基本了解了这几种方法的使用,今天把它整理出来,给初学者一个参考,高手们也给提提意见,看看我有没有说错的地方或者遗漏的,还请指正或补充。

color对象只有4种方法,分别是:

1、getRGB                            返回最后一次调用setRGB方法时设置的RGB值;

2、getTransform          返回最后一次调用setTransform方法时设置的色彩变换信息;

3、setRGB                            用16进制形式设置RGB色彩;

4、setTransform          设置色彩变换信息。

在使用color对象之前,必须先初始化一个实例,例如:

mycolor=new Color(target);


mycolor是这个实例的名字,你也可以用其他的名字(如:a,b,c……),但为了增强代码的可读性,最好用color这个词再加上一些你认为便于理解的字母;


new color 是它的语法,是规定的,指一个新的cololr对象;


target 指创建color对象的mc实例,是一个mc的实例名。


下面分别说明如何使用这几种方法,为了便于理解,我先从后两个方法说起。


setRGB    用16进制形式设置RGB色彩;



语法:mycolor.setRGB(0xRRGGBB);


说明:0xRRGGBB是RGB颜色的16进制形式,RR,GG,BB分别代表红绿蓝色,它们都是16进制形式的数字,取值范围是00至ff,换算成十进制就是0至255。


下面这个例子为影片剪辑aaa设置颜色


新建一个mc,画一个矩形,随便用什么颜色填充,将mc拖到舞台,实例名命名为aaa,如图1   





按此在新窗口浏览图片



 然后在主时间轴第一帧写下面的代码


mycolor=new color(aaa);



mycolor.setRGB(0xffff00);

测试,可以看到矩形变为黄色,如图2   

按此在新窗口浏览图片   



这段代码中的ffff00就是黄色的RGB值,0x代表是16进制的数字形式,注意,0后面是字母x,而不是乘号。那么我们如何来确定某种颜色的RGB值是多少呢?用调色板。我们在调色板中选定某种颜色后,右面的R,G,B旁边的数值也会相应变化,这个值就是RGB的值,只不过它是十进制的,我们把它换算成16进制就可以了。如图3   

按此在新窗口浏览图片

   我们还可以利用随机函数设置随机颜色,方法如下

mycolor=new color(aaa);


mycolor.setRGB(random(0xffffff));

setTransform          设置色彩变换信息


语法:mycolor.setTransform(colorTransformobject);

说明:colorTransformobject是一个普通的object对象,关于object对象这里不做太多解释,因为我也不是很明白,如果说错了给大家带来误导可不好,这里你只要明白这个object对象中有8个参数,ra,rb,ga,gb,ba,bb,aa,ab,其中ra,ga,ba,aa代表红绿兰和透明度的百分比取值范围在-100至100,rb,gb,bb,ab代表红绿兰和透明度的偏移量,取值范围在-255至255。(注意这里要用十进制的数)下下面举个例子说明如何设置色彩变换信息


导入一张图片(其实用矢量图也可以,但为了效果明显我用的图片),转换为mc,拖入舞台,实例名bbb,如图4   

按此在新窗口浏览图片


  注意此时没有给bbb设置颜色,现在我们在主时间轴第一帧加如下代码


mycolor = new color(bbb);//建立一个新的color对象


mycolortransform = new Object;//建立一个新的object对象


mycolortransform ={ra:''30'',rb:''179'',ga:''30'',gb:''179'',ba:''30'',bb:''179'',aa:''100'',ab:''0''}


//为这个object对象添加颜色变换信息,也就是那8个参数


mycolor.settransform(mycolortransform);//根据那8个参数改变颜色信息



测试,可以看到图片被遮上一层白色,如图5   

按此在新窗口浏览图片


  这种效果就和我们在属性面板里为bbb设置色调为白色,70%一样,如图6   

按此在新窗口浏览图片


那么我们又是如何得到那8个参数的值呢?和上面的方法一样,我们可以先在属性面板里设置色调、亮度或透明度,使图片达到自己想要的效果,如上例,我们先在属性面板里设置bbb的色调为白色70%,如上图,然后选“高级”,再点旁边的“设置”,如图7   

按此在新窗口浏览图片


点击后弹出“高级效果”,这里一共有8个数值,这8个数值就分别代表上面说的那8个参数,如图8

   按此在新窗口浏览图片


看看是不是和上面那8个数一样。把这8个数记下来添加到object对象就可以了。

以上这两个方法明白了,前面两个就好理解了

1getRGB                            
返回最后一次调用setRGB方法时设置的RGB值;


在第一个例子中,再加两段代码,如下


mycolor=new color(aaa);



mycolor.setRGB(0xffff00);



a=(mycolor.getRGB().toString(16));//将最后一次调用setRGB方法时设置的RGB值付给变量a, toString(16)表示是16进制的数字形式



trace(a);//将a的值显示到output窗口

测试会看到output窗口显示“ffff00”


2getTransform          返回最后一次调用setTransform方法时设置的色彩变换信息;


在第二个例子中,再加两段代码,如下


mycolor = new color(bbb);//建立一个新的color对象


mycolortransform = new Object;//建立一个新的object对象


mycolortransform ={ra:''30'',rb:''179'',ga:''30'',gb:''179'',ba:''30'',bb:''179'',aa:''100'',ab:''0''}



//为这个object对象添加颜色变换信息,也就是那8个参数



mycolor.settransform(mycolortransform);//根据那8个参数改变颜色信息



b=(mycolor.getTransform())//将最后一次调用setTransform方法时设置的色彩变换信息付给b



mycolor2 = new color(aaa);//新建一个color对象,指向aaa,就是例1中的那个矩形块


mycolor2.settransform(b);//改变aaa的颜色

测试可以看到矩形块也被照上一层白色,和图片的效果一样。

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。