Flash游戏制作常用代码解析(9)
来源:中国艺术设计联盟作者:chila_blus发布时间:2005-01-02
8.颜色的设置

  说到颜色必须先说说什么是对象,对象就是预先定义好的用来访问某些特定类型的信息的集合,大多数预定义对象都有自己的方法(被指派给一个对象的函数被称为这个对象的一个方法),你可以通过这些方法得到不同类型的返回值或执行某个动作.

  预定义对象包括普通对象顶级对象,普通对象在使用前需要创建(我们将要提到的Color对象就属于这一类),而顶级对象则可以直接调用(入下面要说的Math对象)
下面我们详细介绍一下Color对象,它包含四种方法:

  getRGB():返回由最后一次 setRGB 调用设置的数值;
  getTransform():返回由最后一次 setTransform 调用设置的转换值;
  setRGB(0xRRGGBB):指定 Color 对象实例的 RGB 颜色,调用此方法会覆盖由setTransform 方法设置的任何以前的设置;
  setTransform(colorTransformObject):设置 Color 对象实例的颜色转换信息colorTransformObject 参数是通过 new Object 构造函数创建的通用对象它具有指定颜色的红、绿、蓝和 alpha(透明度)成分百分比偏移量数值的参数,颜色转换对象的参数与"高级效果"对话框中的设置相对应,定义如下:

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)


源代码下载

  可以按如下形式创建 colorTransformObject 参数:

myColorTransform = new Object();
myColorTransform.ra = 50;
myColorTransform.rb = 244;
myColorTransform.ga = 40;
myColorTransform.gb = 112;
myColorTransform.ba = 12;
myColorTransform.bb = 90;
myColorTransform.aa = 40;
myColorTransform.ab = 70;

  也可使用以下语法来创建 colorTransformObject 参数:

myColorTransform = {ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'}

  下面的例子展示了为一个目标电影创建一个新的Color对象,使用Object构造器创建一个颜色改变对象以及使用setTransform方法将这个颜色改变对象传递给一个Color对象的过程:

//为目标MC创建一个名为myColord 的对象
myColor=new Color(MC);
//使用普通对象Object对象创建一个名为myColorTransform的颜色改变对象
myColorTransform=new Object;
//为myColorTransform设置值
myColorTransform={ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'};
//将颜色改变对象和为MC创建的颜色对象关联起来
myColor.setTransform(myColorTransform);
.

本篇编辑:chila_blus