【问题标题】:as3 change all button colorsas3 更改所有按钮颜色
【发布时间】:2018-02-24 04:34:28
【问题描述】:

我正在尝试使用以下代码替换所有名为“myButtons”的按钮的颜色:

        colorTransform.color = 0xaf4b44;
        myButtons.transform.colorTransform = colorTransform;

但只有最近创建的按钮会改变颜色,而不是全部。 它们都被称为 myButtons。还有其他方法吗?

【问题讨论】:

  • 您应该重新分配整个 transform 属性,仅更改其字段不会触发任何事情。是的,就是这样。是的,令人困惑。
  • 如何重新分配整个变换属性?
  • 我读了一点,它应该可以正常工作。然后,您需要通过对象的引用将 colorTransform 分配给每个对象。你的代码应该改变单个对象的颜色。
  • 您可能需要存储对所有按钮的引用,然后更改每个按钮的颜色。创建按钮的代码部分可能会有所帮助:)

标签: actionscript-3 actionscript flash-cs5 flash-cs6


【解决方案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;
    }
}

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2020-08-03
    • 2014-07-11
    • 2013-10-10
    • 1970-01-01
    相关资源
    最近更新 更多