Flash中MC颜色的实时变换
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-14
用过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''}。这些完成之后如下图所示。 这里左边的四个是一些说明的文字,用一般的文本就行。主要是右边的四个,选用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的颜色和不透明度。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash中MC颜色的实时变换的所有评论