操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数据库 办公软件 路由技术 网络原理 网络架设 网络管理 认证培训
您的位置:计算机资讯网 >> 媒体动画 >> Flash >> 实例技巧 -> 90.Flash中MC颜色的实时变换
90.Flash中MC颜色的实时变换
2004-10-14 08:23:04
>

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


 

 

转自:不详 作者:未知 关闭
加入收藏 推荐给好友 打印本文
内容为网上收集,并不代表本站同意或者赞同其观点,如果有任何版权,内容问题,请联系本站,我们将在第一时间处理.
查询
关键字
搜索范围
热点专题
服务
计算机资讯网 | 联系方式 | 广告服务 | 意见留言 | 友情链接 | 网站地图 | 设为首页