快速业务通道

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''}。这些完成之后如下图所示。

  (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的颜色和不透明度。

关键词:MC

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号