改变影片剪辑的颜色

改变影片剪辑的颜色

每个可视化对象都有一个transform.colorTransform 属性, colorTransform 属性是一个flash.geom.ColorTransform 对象实例,

它决定对象的颜色。colorTransform 属性总是返回

ColorTransform 对象的一个拷贝,也就说不能直接改变colorTransform属性,而是要先获取
1
2
3
4
var yy:Transform= new Transform(me.currentTarget as MovieClip);
var my_color: ColorTransform = new ColorTransform();//指定颜色的值
my_color.color=0xEB9A00;
yy.colorTransform=my_color;

colorTransform属性,修改,然后再重新赋值给colorTransform属性,像下面这样:

1
2
3
var color:ColorTransform = sampleSprite.transform.colorTransform;
color.rgb = 0xFFFFFF;
sampleSprite.transform.colorTransform = color;

 ColorTransform类定义了两种方式修改对象的颜色。一种是直接对rgb属性赋值,该属性接受一
个uint值,通常为十六进制数(0xRRGGBB),就像上面的例子那样,还有种方法就是分别设置
redOffset, greenOffset, blueOffset,和alphaOffset属性,它们的范围从-255 到255:

1
2
3
4
5
var color:ColorTransform = sampleSprite.transform.colorTransform;
color.redOffset = 255;
color.greenOffset = 255;
color.blueOffset = 255;
sampleSprite.transform.colorTransform = color;

上面的代码通过三原色设置为白色,应用到sampleSprite 上。如果再改变alphaOffset 则会出现
透明效果,这和alpha 属性是一样的效果,只不过alphaOffset 值范围在0 到255,而alpha 值范
围在0 到100。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
timu11.addEventListener("mouseOver",select);
timu11.addEventListener("mouseOut",noselect);
function select(me:MouseEvent) {
    me.currentTarget.buttonMode  = true;
    var yy:Transform= new Transform(me.currentTarget as MovieClip);
    var my_color: ColorTransform = new ColorTransform();//指定颜色的值
    my_color.color=0xFF0000;
    yy.colorTransform=my_color;
}
function noselect(me:MouseEvent) {
    me.currentTarget.buttonMode  = true;
    var yy:Transform= new Transform(me.currentTarget as MovieClip);
    var my_color: ColorTransform = new ColorTransform();//指定颜色的值
    my_color.color=0x0000;
    yy.colorTransform=my_color;
    me.currentTarget.alpha = 1;
}

 





posted @ 2013-01-08 17:38  thero  阅读(375)  评论(0编辑  收藏  举报