Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.10.2011, 16:05
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 1  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
По умолчанию Как отслеживать завершение анимации

Вот например есть код mc.gotoAndStop(3); и по завершению этой анимации нужно выполнить другие действия, как мне проверять закончилась анимация или нет?

Старый 17.10.2011, 16:08
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 2  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
addFrameScript или dispatchEvent, ну на худой конец ENTER_FRAME (или EXIT_FRAME).
__________________
http://www.chessmax.ru

Старый 17.10.2011, 16:18
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 3  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
ну допустим взять addFrameScript , и как написать что то типо :пока выполняется анимация дальше действия не выполнять?

Старый 17.10.2011, 16:21
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 4  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
А почитать про addFrameScript не судьба?
__________________
http://www.chessmax.ru

Старый 17.10.2011, 16:21
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 5  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
почитал но не понял

Старый 17.10.2011, 16:25
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 6  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
В addFrameScript передается номер кадра и callBack функция, которая запустится когда будет проигрываться этот кадр.
Покажите код.
__________________
http://www.chessmax.ru

Старый 17.10.2011, 16:28
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 7  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
ды в том и дело что его пока нет,я не знаю что писать, у меня просто персонаж стреляет по нажатию на кнопку,воспроизводится анимация,если быстро тыкать на кнопку то анимация прекращает воспроизводится и обрывается и заново запускается,а мне нужно чтоб пока не доиграла анимация следущая не запускалась

Старый 17.10.2011, 16:32
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 8  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Заводите себе флажок, например:
Код AS3:
private var isPlaying: Boolean = false;
Перед запуском анимации (в обработчика щелчка по кнопке) проверяете, установлен ли флажок, и если нет, то устанавливаете его и запускаете анимацию, с помощью addFrameScript ждете окончания его и сбрасываете флажок. Все.
__________________
http://www.chessmax.ru

Старый 17.10.2011, 16:33
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 9  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
аа)все спасибо)

Добавлено через 9 минут
А можно сделать так? например создаем переменную,в нее заносим значение единицы, при выстреле она обнуляется, и по таймеру она восстанавливается типа load+=0.05; и все это на проверку,типа если переменная load больше или равна единицы тогда можно стрелять?

Старый 17.10.2011, 19:15
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Я обычно примерно так и делаю. Только во всех персонажах делаю функцию update() и всё, от перемещения персонажей, до стрельбы и перезарядки делается в ней, чтобы не вешать никаких дополнительных энтер фреймов или таймеров.
А функция во всех пересонажах вызывается в цикле, который, в свою очередь, перебирается по энтерфрейму где-то вне класса персонажа.

П.с. для удобства можно даже сделать общий интерфейс для всех персонажей (конечно же применить его во всех классах персонажей =) )
Код AS3:
public interface IUpdatable {
    function update():void;
}
в который прописать метод update() и поместить всех персонажей в вектор, например так:
Код AS3:
var charachters:Vector.<IUpdatable> = new Vector.<IUpdatable>();
и перебирать уже так:
Код AS3:
for (var i:String in characters) {
    characters[i].update();
}


Последний раз редактировалось goodguy; 17.10.2011 в 19:22.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.