首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调整ColorTransform对象

调整ColorTransform对象
EN

Stack Overflow用户
提问于 2011-01-16 23:58:16
回答 2查看 697关注 0票数 0

官方的文档说:

必须使用新的ColorTransform()构造函数来创建ColorTransform对象,然后才能调用ColorTransform对象的方法。

所以,这是否意味着每次我想要调整颜色转换,我必须创建一个新的实例?如果是这样的话,setter属性看起来是毫无意义的,我的测试表明是这样的。

因此,如果我想要循环的每个呈现,比如基于时间的redOffset (为了获得脉冲效果),是否必须手动创建一个新的ColorTransform,从this.transform.colorTransform传递所有构造函数args

代码语言:javascript
运行
复制
var newRedOffset:Number = ...
transform.colorTransform = new ColorTransform(
 transform.colorTransform.redMultiplier, transform.colorTransform.greenMultiplier,
 transform.colorTransform.blueMultiplier, transform.colorTransform.alphaMultiplier,

 newRedOffset, transform.colorTransform.greenOffset,
 transform.colorTransform.blueOffset, transform.colorTransform.alphaOffset );

看起来很可怕,有捷径吗?

EN

回答 2

Stack Overflow用户

发布于 2011-01-17 00:52:48

这里有一种简单、直接的方法来改变显示对象的颜色,而不是处理颜色乘数和alpha偏移:

代码语言:javascript
运行
复制
var ct:ColorTransform = new ColorTransform();
ct.color = 0xFF0000; //Simple Hex Color value

myDisplayObject.transform.colorTransform = ct;

通过这种方式,您可以更改同一个ColorTransform对象的颜色属性,然后将其重新应用于显示对象。

票数 2
EN

Stack Overflow用户

发布于 2011-01-17 00:54:01

不,它没有。您可以使用对象已经拥有的colorTransform,但是您需要在更改了值之后重新分配它:

代码语言:javascript
运行
复制
var trans:ColorTransform = sprite.transform.colorTransform;
trans.blueOffset += 10;
sprite.transform.colorTransform = trans;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4708949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档