[ActionScript 3.0] 动态改变影片剪辑的颜色

flash.geom.ColorTransform

可使用 ColorTransform 类调整显示对象的颜色值。可以将颜色调整或 颜色转换应用于所有四种通道:红色、绿色、蓝色和 Alpha 透明度。

当 ColorTransform 对象应用于显示对象时,将按如下方法为每个颜色通道计算新值:

  • 新红色值 = (旧红色值 * redMultiplier) + redOffset
  • 新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset
  • 新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset
  • 新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset

如果计算后任何一个颜色通道值大于 255,则该值将被设置为 255。如果该值小于 0,它将被设置为 0。

可以通过下列方式使用 ColorTransform 对象:

  • 在 BitmapData 类的 colorTransform() 方法的 colorTransform 参数中
  • 作为 Transform 对象(此对象可以用作显示对象的 transform 属性)的 colorTransform 属性

必须使用 new ColorTransform() 构造函数创建 ColorTransform 对象后,才能调用 ColorTransform 对象的方法。

颜色转换不会应用于影片剪辑(如加载的 SWF 对象)的背景色,它们仅应用于附加到影片剪辑的图形和元件。

简单示例:

var ct:ColorTransform = new ColorTransform();

ct.color = 0xffff00;

mc.transform.colorTransform = ct;

 

你可能感兴趣的:(actionscript)