循环遍历图形的每个实例

时间:2011-09-17 12:50:10

标签: flash actionscript-3

我所拥有的是很多按钮(超过200个),我想循环遍历它们。它们都是IDE中相同图形符号的所有实例,因此应该有一种方法可以遍历它们。

如果我在JavaScript中执行此操作或类似操作,我可以执行以下操作:document.getElementsByClassName('MyGraphicSymbol')然后我将拥有所有元素的数组。所以在AS3中寻找类似的东西。

3 个答案:

答案 0 :(得分:1)

我总是将我的项目添加到Vector或Array中,以便更好地控制它们。但是......如果您已将所有按钮添加到同一容器中,则可以执行此操作:

var buttons : int = buttonHolder.numChildren;
var button : MovieClip;

for(var i : int = 0 ; i < buttons ; i++)
{
    button = buttonHolder.getChildAt(i);
    button.someFunctionOfChoice();
}

答案 1 :(得分:1)

actionscript 3中的所有类和对象都是作为associativ数组内部构建的。这意味着您可以获得一个元素,例如像这样:

this ["instanceName"];

当每个按钮都有一个像"button_" + i这样的实例名称时,您可以使用该内部数组迭代所有按钮:

for (var i= 0; i < 200; i++){
var button: SimpleButton = this ["button_" + i] as SimpleButton;
// do something
}

答案 2 :(得分:1)

您是否考虑过该类的静态数组,并在构造函数中将新实例添加到该数组中。那你就可以做到

for each(var i in YourButtonClass.arrayOfButtons){
//do nothing
}