循环遍历图形的每个实例



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

如果我在JavaScript中做这个或类似的事情,我可以这样做:document.getElementsByClassName('MyGraphicSymbol'),然后我有一个所有元素的数组。在AS3中寻找类似的东西

actionscript 3中的所有类和对象都是作为关联数组在内部构建的。这意味着你可以像这样获取一个元素:

this ["instanceName"];

当每个按钮都有一个实例名,比如"button_" + i,你可以用这个内部数组遍历所有按钮:

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

我总是将项目添加到Vector或Array中,以便更好地控制它们。但是…如果你把所有的按钮都添加到同一个容器中,你可以这样做:

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

您是否考虑过为类创建一个静态数组,并在构造函数中将新实例添加到该数组中?然后你可以直接输入

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

最新更新