最近研究了Flash的色彩描述方式,以AS3來說,可以使用colorTransform來轉換物體的顏色,關鍵是紅色部分的程式碼,可視物件(本範例為Loader)中,有個屬性名為"transform",是Transform類別的實體,而transform有個屬性名為"colorTransform",是ColorTransform類別的實體。建立一個ColorTransform物件,再把變更數值過後的ColorTransform物件指定給loader.transform.colorTransform即可,範例如下:
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.ColorTransform;
import flash.net.URLRequest;
public class ColorEffects extends Sprite
{
private var loader:Loader = new Loader();
private var colorInfo:ColorTransform = new ColorTransform();
public function ColorEffects()
{
loader.load(new URLRequest("assets/test.jpg"));
addChild(loader);
loader.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler);
loader.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler);
}
protected function mouseHandler(e:MouseEvent):void
{
switch (e.type)
{
case MouseEvent.MOUSE_OVER:
colorInfo.redMultiplier = 0;
colorInfo.greenMultiplier = 0;
loader.transform.colorTransform = colorInfo;
break;
case MouseEvent.MOUSE_OUT:
colorInfo.redMultiplier = 1;
colorInfo.greenMultiplier = 1;
loader.transform.colorTransform = colorInfo;
break;
default:
break;
}
}
}
}
2009年9月10日 星期四
使用colorTransform轉換色彩
文章類別: ActionScript3
訂閱:
文章 (Atom)