Вообще, моя задача стоит в том, чтобы сделать появление кнопок меню поочередно. В классе меню, где идет создание классов кнопок, стоит цикл. Цикл выполняется до тех пор, пока не будет создано столько кнопок, сколько было указано при создании меню (у меня 7).
Суть в том, что я это сделал в цикле. Вот цикл, функция getMotionFinished в кнопке возвращает переменную motionFinishedVar, которая изменяется на true лишь после окончания движения Tween-а внутри кнопки.
То есть цикл while выполняется все эти 7 или сколько секунд пока все твины 7-и кнопок не возвратят в своих функциях getMotionFinished true (там return той переменной стоит).
Может я как-то не так это понимаю? После компила все зависает и сообщает, что цикл сильно долго шел и его пришлось отключить. На выходе - одна кнопка, первая, которая под условием висит в else.

Код AS3:
private function drawMenu(e:Event)
{
//Цикл рисования меню
while (i<(buttonsNumber-1))
{
if (i > 0)
{
if (arrayOfButtons[i - 1][0].getMotionFinished() == true)
{
arrayOfButtons[i] = new Array ;
arrayOfButtons[i][0] = new MyButton("Кнопочка " + i);
arrayOfButtons[i][0].y += arrayOfButtons[i - 1][0].y + arrayOfButtons[i - 1][0].height;
addChild(arrayOfButtons[i][0]);
i++
}
}
else
{
arrayOfButtons[i] = new Array ;
arrayOfButtons[i][0] = new MyButton("Кнопочка " + i);
addChild(arrayOfButtons[i][0]);
i++;
}
}
}
По дефолту i, конечно же, 0.
Просто при вызове 7 кнопок (почему я в условии while-а пишу i-1) в массив arrayOfButtons добавляется от 0 до 6-и элементов
Вопрос у меня такой, почему цикл не хочет так работать?
Добавлено через 10 минут
Минутку... А можно как-нибудь listener сделать на getMotionFinished, когда станет true просто делать i++ и вызывать функцию drawButton к примеру?
Как сделать слушатель на свой параметр?