每个可视化对象都有一个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 ; } |