AS3改变mc的颜色。

 

ColorTransform () 构造函数
public function ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0, blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0, greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)

 

语言版本 :  ActionScript 3.0
RuntimeVersions:  AIR 1.0, Flash Player 9

 

用指定的颜色通道值和 Alpha 值为显示对象创建 ColorTransform 对象。

参数
  redMultiplier:Number (default = 1.0) — 红色乘数的值,在 0 到 1 范围内。
 
  greenMultiplier:Number (default = 1.0) — 绿色乘数的值,在 0 到 1 范围内。
 
  blueMultiplier:Number (default = 1.0) — 蓝色乘数的值,在 0 到 1 范围内。
 
  alphaMultiplier:Number (default = 1.0) — Alpha 透明度乘数的值,在 0 到 1 范围内。
 
  redOffset:Number (default = 0) — 红色通道值的偏移量,在 -255 到 255 范围内。
 
  greenOffset:Number (default = 0) — 绿色通道值的偏移量,在 -255 到 255 范围内。
 
  blueOffset:Number (default = 0) — 蓝色通道值的偏移量,在 -255 到 255 范围内。
 
  alphaOffset:Number (default = 0) — Alpha 透明度通道值的偏移量,在 -255 到 255 范围内。

 

 

package { import flash.display.Sprite; import flash.display.GradientType; import flash.geom.ColorTransform; import flash.events.MouseEvent; public class ColorTransformExample extends Sprite { public function ColorTransformExample() { var target:Sprite = new Sprite(); draw(target); addChild(target); target.useHandCursor = true; target.buttonMode = true; target.addEventListener(MouseEvent.CLICK, clickHandler) } public function draw(sprite:Sprite):void { var red:uint = 0xFF0000; var green:uint = 0x00FF00; var blue:uint = 0x0000FF; var size:Number = 100; sprite.graphics.beginGradientFill(GradientType.LINEAR, [red, blue, green], [1, 0.5, 1], [0, 200, 255]); sprite.graphics.drawRect(0, 0, 100, 100); } public function clickHandler(event:MouseEvent):void { var rOffset:Number = transform.colorTransform.redOffset + 25; var bOffset:Number = transform.colorTransform.redOffset - 25; this.transform.colorTransform = new ColorTransform(1, 1, 1, 1, rOffset, 0, bOffset, 0); } } }

你可能感兴趣的:(Flash)