用过photoshop等图像处理软件的人都知道,photoshop的颜色选择可以通过改变red,green,blue的数值来得到,这次要做的实例就是通过flash里面的color对象中的settransform方法来实现这种改变颜色的效果。
(1)首先在舞台上画一个矩形框,并把填充改为黑色(16进制值是000000)。然后把它转换成一个movieclip。(有关颜色的16进制表示方法请参考有关资料)。
(2)选择window>panels>instance,并在name中命名为ant.如下图
(3)在此movieclip上捆绑以下脚本(选expert mode可支持拷入)
onclipevent (enterframe) {
mycolor = new color(this);
mycolortransform = new object();
mycolortransform.rb = red;
mycolortransform.gb = green;
mycolortransform.bb = blue;
mycolortransform.aa = alpha;
mycolor.settransform(mycolortransform);
}
分析下上面的脚本,上面这些脚本也是此实例的全部脚本了,onclipevent的用法已遇到过。这里最主要的color对象。首先用new color来创建一个新的color对象mycolor。this(是movieclip名)指的是此color对象就是针对此movieclip而言的。这里先说明一下下面这些参数。
ra是红色成分百分比(-100到100)
rb是红色成分偏移量(-255到255)
ga是绿色成分百分比(-100到100)
gb是绿色成分偏移量(-255到255)
ba是蓝色成分百分比(-100到100)
bb是蓝色成分偏移量(-255到255)
aa是alpha(不透明度)成分百分比(-100到100)
ab是alpha(不透明度)成分偏移量(-255到255)
接下来再分析,后面的语句是先使用object构造器创建一个颜色改变对象再使用settransform方法把这个颜色传给上面的color对象。实际上就是创建了mycolortransform这个新的对象,然后用参数rb,gb,bb,aa,我这里用的全是偏移量。而且每一个都赋于一个变量。这里的red,green,blue,alpha都是变量,这些是用来传递偏移值的。其实你也可这样表达.mycolortransform={rb:'red',gb:'green',bb:'blue',alpha:'aa'}。这些完成之后如下图所示。
(4)接着用text tool在舞台的右边画8个文本区,并把右边四个设置如下图
这里左边的四个是一些说明的文字,用一般的文本就行。主要是右边的四个,选用input text是为了在运行中输入偏移量。在variable用ant.red下面的分别为ant.green,ant.blue,ant.alpha它们支持对应的是上面movieclip里的变量值。在每个前加了ant为了说明这个red变量是在ant这个movieclip中。并把上面三个初始值设为0,最下面的设为100。也就是对应了r,g,b为000000黑色,而且不透明度为100,即一开始就是可见的。
最后说明一下:在用onclipevent()的时候,这里一定要用enterframe,目的是为这个脚本不断的循环执行,这样当你改变input当中的值的时候,movieclip才有颜色变化的反应。
做好以后运行情况如下图,你可以通过改变文本框中的数值来改变左边movieclip的颜色和不透明度。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器