![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Вообще, моя задача стоит в том, чтобы сделать появление кнопок меню поочередно. В классе меню, где идет создание классов кнопок, стоит цикл. Цикл выполняется до тех пор, пока не будет создано столько кнопок, сколько было указано при создании меню (у меня 7).
Суть в том, что я это сделал в цикле. Вот цикл, функция getMotionFinished в кнопке возвращает переменную motionFinishedVar, которая изменяется на true лишь после окончания движения Tween-а внутри кнопки. То есть цикл while выполняется все эти 7 или сколько секунд пока все твины 7-и кнопок не возвратят в своих функциях getMotionFinished true (там return той переменной стоит). Может я как-то не так это понимаю? После компила все зависает и сообщает, что цикл сильно долго шел и его пришлось отключить. На выходе - одна кнопка, первая, которая под условием висит в else. 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++; } } } Просто при вызове 7 кнопок (почему я в условии while-а пишу i-1) в массив arrayOfButtons добавляется от 0 до 6-и элементов ![]() Вопрос у меня такой, почему цикл не хочет так работать? Добавлено через 10 минут Минутку... А можно как-нибудь listener сделать на getMotionFinished, когда станет true просто делать i++ и вызывать функцию drawButton к примеру? Как сделать слушатель на свой параметр? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Посылать из кнопки событие, что анимация закончилась. В хендлере запускать следующую кнопку после проверки количества.
__________________
Reality.getBounds(this); |
|
|||||
|
Я еще не полностью познал классы и подклассы. Не подскажите, как послать событие наверх, в класс MyMenu, будучи в классе MyButton?
Добавлено через 17 минут О, глупый вопрос. Пора переставать задавать вопросы не погуглив. Нашел dispatchEvent, сейчас все сделаю. Спасибо, Wolsh! |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:46. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|