Flash5ActionScript教程 四十七
b>设置颜色值使用Flash 5的预定义Color(颜色)对象的方法可以调整电影剪辑的颜色。setRGB方法把十六进制的RGB(红、绿、蓝)值赋给对象,而setTransform方法则用来设置红、绿、蓝色的百分比和补偿值,以及一种颜色的透明度(alpha) 。下例使用setRGB方法,根据用户输入改变对象的颜色。
在下面动画的文本框中输入十六进制值(例如cc66ff或0033cc),即可改变小鱼的颜色。
要使用Color对象,需要创建该对象的一个实例,并把它应用于电影剪辑。
下面以制作上面的动画为例,说明设置电影剪辑颜色的操作步骤。
1 | 选择编辑区中的电影剪辑,然后选择Window $#@62; Panels $#@62; Instance(窗口$#@62;面板$#@62;实例)。 |
2 | 在Name(名字)框中输入实例名colorTarget。 |
3 | 在编辑区创建一个文本框。 |
4 | 选择Window $#@62; Panels $#@62; Text Options(窗口$#@62;面板$#@62;文本选项),打开Text Options。从文本类型选择菜单上选择Input Text(输入文本),并在Variable(变量)框中给它指定变量名input。 |
5 | 拖一个按钮到编辑区,并选择它。 |
6 > | 选择Window $#@62; Actions(窗口$#@62;动作)。 |
7 | 从工具箱中把set variable动作拖到脚本窗口。 |
8 | 在Variable(变量)框中输入c。 |
9 | 在工具箱中,选择 Objects(对象),再选Color(颜色),然后拖new Color到Value(值)框。 |
10 | 选择Expression(表达式)复选框。 |
11 | 单击插入目标路径按钮(注:此按钮的触发区极小,请细心操作),选择colorTarget,单击OK。 |
动作脚本窗口中的代码应该如下所示: | |
on(release) { c = new Color(colorTarget); } | |
12 | 从工具箱中把evaluate动作拖到脚本窗口。 |
13 | 在Expression(表达式)框中输入 c 。 |
14 | 在工具箱列表的Objects(对象)类型中选择Color(颜色),然后把setRGB拖到Expression框。 |
15 | 选择Functions,并把parseInt拖到Expression框。 |
代码应如下所示: | |
on(release) { c = new Color(colorTarget); c.setRGB(parseInt(string, radix)); } | |
16 | 给parseInt的string(字符串)参数输入 input。 |
被解析的字符串是输入可编辑文本框中的值。 | |
17 | 给parseInt的radix(数制)参数输入16。 |
数制是解析数值系统的进制。在本例中,16表示Color对象使用十六进制颜色值。 得到的代码应该如下所示: | |
on(release) { c = new Color(colorTarget); c.setRGB(parseInt(input, 16)); } | |
18 | 选择Control $#@62; Test Movie(控制$#@62;测试动画),在文本框中输入十六进制颜色值,即可改变电影剪辑的颜色。 |