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 更改所有按钮颜色的主要内容,如果未能解决你的问题,请参考以下文章

单击时尝试转换按钮颜色 flash as3

更改表格视图中所有单元格按钮的颜色

月出颜色主题的日食:更改按钮颜色

SwiftUI - 按下按钮时如何更改所有其他按钮的颜色?

可以更改容器背景颜色/颤动颜色的按钮

如何更改引导程序版本 4 按钮颜色