最近在做一些实例时经常用到关于color对象的几种方法,开始也是一头雾水,也在闪吧发过求助帖子(在此对支书给予的帮助表示感谢),经过多次试验和练习,现在基本了解了这几种方法的使用,今天把它整理出来,给初学者一个参考,高手们也给提提意见,看看我有没有说错的地方或者遗漏的,还请指正或补充。
color对象只有4种方法,分别是:
1、getRGB 返回最后一次调用setRGB方法时设置的RGB值;
2、getTransform 返回最后一次调用setTransform方法时设置的色彩变换信息;
3、setRGB 用16进制形式设置RGB色彩;
4、setTransform 设置色彩变换信息。
在使用color对象之前,必须先初始化一个实例,例如:
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);
测试,可以看到矩形变为黄色,如图2
这段代码中的ffff00就是黄色的RGB值,0x代表是16进制的数字形式,注重,0后面是字母x,而不是乘号。那么我们如何来确定某种颜色的RGB值是多少呢?用调色板。我们在调色板中选定某种颜色后,右面的R,G,B旁边的数值也会相应变化,这个值就是RGB的值,只不过它是十进制的,我们把它换算成16进制就可以了。如图3
我们还可以利用随机函数设置随机颜色,方法如下 mycolor=new color(aaa);
语法: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个参数
这种效果就和我们在属性面板里为bbb设置色调为白色,70%一样,如图6
那么我们又是如何得到那8个参数的值呢?和上面的方法一样,我们可以先在属性面板里设置色调、亮度或透明度,使图片达到自己想要的效果,如上例,我们先在属性面板里设置bbb的色调为白色70%,如上图,然后选“高级”,再点旁边的“设置”,如图7
点击后弹出“高级效果”,这里一共有8个数值,这8个数值就分别代表上面说的那8个参数,如图8
看看是不是和上面那8个数一样。把这8个数记下来添加到object对象就可以了。
以上这两个方法明白了,前面两个就好理解了
1、getRGB
返回最后一次调用setRGB方法时设置的RGB值;
在第一个例子中,再加两段代码,如下 mycolor=new color(aaa); mycolor.setRGB(0xffff00); a=(mycolor.getRGB().toString(16));//将最后一次调用setRGB方法时设置的RGB值付给变量a, toString(16)表示是16进制的数字形式
2、getTransform 返回最后一次调用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中的那个矩形块
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |