as3 更改所有按钮颜色
Posted
技术标签:
【中文标题】as3 更改所有按钮颜色【英文标题】:as3 change all button colors 【发布时间】:2018-02-24 04:34:28 【问题描述】:我正在尝试使用以下代码替换所有名为“myButtons”的按钮的颜色:
colorTransform.color = 0xaf4b44;
myButtons.transform.colorTransform = colorTransform;
但只有最近创建的按钮会改变颜色,而不是全部。 它们都被称为 myButtons。还有其他方法吗?
【问题讨论】:
您应该重新分配整个 transform 属性,仅更改其字段不会触发任何事情。是的,就是这样。是的,令人困惑。 如何重新分配整个变换属性? 我读了一点,它应该可以正常工作。然后,您需要通过对象的引用将 colorTransform 分配给每个对象。你的代码应该改变单个对象的颜色。 您可能需要存储对所有按钮的引用,然后更改每个按钮的颜色。创建按钮的代码部分可能会有所帮助:) 【参考方案1】:如果所有按钮都具有相同的父级,则可以使用以下代码。不过,我建议您为每个按钮使用不同的名称。
var colorTransform:ColorTransform=new ColorTransform;
colorTransform.color = 0xaf4b44;
var mc:MovieClip=new MovieClip;
mc=root["myButtons"].parent;
for(var i:int=0; i<mc.numChildren; i++)
if(mc.getChildAt(i).name=="myButtons")
mc.getChildAt(i).transform.colorTransform = colorTransform;
【讨论】:
以上是关于as3 更改所有按钮颜色的主要内容,如果未能解决你的问题,请参考以下文章