Перебрать каждый экземпляр графика - PullRequest
0 голосов
/ 17 сентября 2011

У меня много кнопок (более 200), и я хочу просмотреть их все. Все они являются экземплярами одного и того же графического символа в IDE, поэтому должен быть способ обойти их все.

Если бы я делал это или что-то подобное в JavaScript, я мог бы сделать что-то вроде: document.getElementsByClassName('MyGraphicSymbol') и тогда у меня был бы массив всех элементов. Так что ищите что-то подобное в AS3.

Ответы [ 3 ]

1 голос
/ 17 сентября 2011

Все классы и объекты в ActionScript 3 встроены как ассоциативный массив. Это означает, что вы можете получить элемент, например, как это:

this ["instanceName"];

Когда у каждой кнопки есть имя экземпляра, например "button_" + i, вы можете перебирать все кнопки с этим внутренним массивом:

for (var i= 0; i < 200; i++){
var button: SimpleButton = this ["button_" + i] as SimpleButton;
// do something
}
1 голос
/ 18 сентября 2011

Задумывались ли вы о статическом массиве для класса, и в конструкторе добавьте новый экземпляр в этот массив. Тогда вы можете просто сделать

for each(var i in YourButtonClass.arrayOfButtons){
//do nothing
}
1 голос
/ 17 сентября 2011

Я всегда добавляю свои предметы в Вектор или Массив, чтобы лучше контролировать их.Но ... если вы добавили все кнопки в один контейнер, вы можете сделать это:

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

for(var i : int = 0 ; i < buttons ; i++)
{
    button = buttonHolder.getChildAt(i);
    button.someFunctionOfChoice();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...