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