官方docs说:
您必须使用新的ColorTransform() 构造函数来创建ColorTransform 对象之前可以调用方法 ColorTransform对象。
这是否意味着每个时间我想调整颜色转换,我必须创建一个新实例?如果是这样,那么setter属性似乎毫无意义,我的测试表明情况就是这样。
因此,如果我想要循环的每个渲染都基于时间说redOffset
(以获得脉冲效果),我是否必须手动创建一个新的ColorTransform
从{{1传递所有构造函数args }}:
this.transform.colorTransform
看起来很可怕,有没有捷径?
答案 0 :(得分:2)
而不是处理颜色乘数和alpha偏移,这是一种简单,直接的方式来改变显示对象的颜色:
var ct:ColorTransform = new ColorTransform();
ct.color = 0xFF0000; //Simple Hex Color value
myDisplayObject.transform.colorTransform = ct;
这样您就可以更改同一ColorTransform对象的color属性,然后将其重新应用到显示对象。
答案 1 :(得分:2)
不,它没有。您可以使用已有对象的colorTransform,但是在更改值后需要重新分配它:
var trans:ColorTransform = sprite.transform.colorTransform;
trans.blueOffset += 10;
sprite.transform.colorTransform = trans;