当前位置:软件学习 > Flash >>

Flash中MC颜色的实时变换

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



上一个:用Flash制作可拖动的悬浮窗口
下一个:PI/FW/Flash 总动员制作烟火效果

更多Flash疑问解答:
今天教大家学会用U5制作成翻页相册
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(七)
Flash MX 视频导入功能详解
Flash5 画任意直线教程
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash本地加密
flash场景之间相互跳转的实现方法
Flash那样动感十足制作PPT按钮跟我来
Flash Mx使用技巧十二则
使用Flash mx制作旋转的时钟效果
PowerPoint中插入Flash动画的方法
用FlashMX制作拖动悬浮窗口
在Flash中巧妙替换字体
Dreamweaver
Fireworks
FrontPage
Flash
Photoshop
Coreldraw
Excel
Word
Powerpoint
outlook
wps
AfterEffects
3D MAX
Director
Authorware
PremierePro
Foxmail
Maya
ISA
会声会影
其它软件
AutoCAD
如果你遇到软件学习难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,