![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2014
Сообщений: 192
|
У меня вопрос в обработчике события MouseEvent.CLIK я зарегистрировал другой слушатель по событию EnterFrame. Флеш простая - кликаю мышкой - анимация вспышки из автомата и вылетает пуля, но если часто кликать, то вылетает допустим три пули и происходит 1 вспышка. У меня вопрос, как сделать так, чтобы вспышка и вылет пули происходили в один момент.
function mC(e:MouseEvent):void { var pulya:Pulya = new Pulya(); pulya.x = men.x pulya.y = men.y addChild(pulya); pulya.addEventListener(Event.ENTER_FRAME, polet_puli); men.avtomat.play(); // анимация вспышки автомата } function polet_puli(e:Event):void { var pulya:Pulya = e.currentTarget as Pulya; pulya.x += skorost_puli; } |
|
|||||
|
Можно создавать каждый клик экземпляр мувика с вспышкой, но это жутко неоптимизировано.
Хотя проще будет заменить play() на gotoAndPlay(1);
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Создаете отдельный класс, в котором будет только ентерФрейм и массив.
Создаете отдельный класс вспышки и пуль. Кликнули мышкой и дОбавили в массив класса еФвспышку и пулю. Класс еФ видит, что в его массиве есть элементы и начинает последовательно вызывать метод move в этих классах. Вспышка получит определенное кол-во тиков от еФ и сообщит классу еФ что его пора удалять из массива. Класс еФ удаляет вспышку, но проигрывает пулю, пока та не сообщит об удалении. Последний раз редактировалось Akopalipsis; 24.04.2014 в 03:31. |
|
|||||
|
Проще уже дАбавлять вспышку на клике, и при окончании проигрывания убирать со сцены(может быть даже изнутри вспышки, как вам будет ближе для понимания).
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Регистрация: Feb 2014
Сообщений: 192
|
gotoAndPlay(2) сработало, но как синхронизировать не вспышку к частому клику, а наоборот, чтобы пуля не могла вылететь до того, как закончиться анимация вспышки. Спасибо!
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
отписываться от клика пока не закончится вспышка, или отключать саму реакцию на мышь.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2014
Сообщений: 192
|
Цитата:
А где и как отключить реакцию на мышь. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Feb 2014
Сообщений: 192
|
Спасибо!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|