![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
Вот например есть код mc.gotoAndStop(3); и по завершению этой анимации нужно выполнить другие действия, как мне проверять закончилась анимация или нет?
|
|
|||||
|
addFrameScript или dispatchEvent, ну на худой конец ENTER_FRAME (или EXIT_FRAME).
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
ну допустим взять addFrameScript , и как написать что то типо :пока выполняется анимация дальше действия не выполнять?
|
|
|||||
|
А почитать про addFrameScript не судьба?
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
почитал но не понял
|
|
|||||
|
В addFrameScript передается номер кадра и callBack функция, которая запустится когда будет проигрываться этот кадр.
Покажите код.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
ды в том и дело что его пока нет,я не знаю что писать, у меня просто персонаж стреляет по нажатию на кнопку,воспроизводится анимация,если быстро тыкать на кнопку то анимация прекращает воспроизводится и обрывается и заново запускается,а мне нужно чтоб пока не доиграла анимация следущая не запускалась
|
|
|||||
|
Заводите себе флажок, например:
Перед запуском анимации (в обработчика щелчка по кнопке) проверяете, установлен ли флажок, и если нет, то устанавливаете его и запускаете анимацию, с помощью addFrameScript ждете окончания его и сбрасываете флажок. Все.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
аа)все спасибо)
Добавлено через 9 минут А можно сделать так? например создаем переменную,в нее заносим значение единицы, при выстреле она обнуляется, и по таймеру она восстанавливается типа load+=0.05; и все это на проверку,типа если переменная load больше или равна единицы тогда можно стрелять? |
|
|||||
|
Banned
Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Я обычно примерно так и делаю. Только во всех персонажах делаю функцию update() и всё, от перемещения персонажей, до стрельбы и перезарядки делается в ней, чтобы не вешать никаких дополнительных энтер фреймов или таймеров.
А функция во всех пересонажах вызывается в цикле, который, в свою очередь, перебирается по энтерфрейму где-то вне класса персонажа. П.с. для удобства можно даже сделать общий интерфейс для всех персонажей (конечно же применить его во всех классах персонажей =) ) в который прописать метод update() и поместить всех персонажей в вектор, например так: и перебирать уже так: Последний раз редактировалось goodguy; 17.10.2011 в 19:22. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|