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

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

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

Регистрация: Dec 2009
Сообщений: 2
Arrow AS3, как самоудаляться и запускать при этом метод из основного класса

Подскажите пожалуйста!

У меня основной класс создает две кнопки - экземпляры одного класса button(пользовательский). При нажатии одной из них, обе удаляются с экрана и запускается анимация. Как сделать так, чтобы по окончанию анимации она самоудалялась, а также снова создавала эти две кнопки???

Очень прошу!

Старый 07.12.2009, 10:10
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 2  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
при окончании анимации диспатчите Event, ловите его в основном классе и делайте дальше что душе угодно

например можно в последнем кадре анимации прописать
Код AS3:
dispatchEvent(new Event("end"));
чтобы в каждом кадре не проверять окончание
__________________
low +

Старый 07.12.2009, 10:54
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 3  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
to Jewelz:
пользовательские классы и и куски кода на кадры вешать - плохая практика

Старый 07.12.2009, 11:06
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 4  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
можно использовать в основном классе
Код AS3:
animation.play();
animation.addFrameScript(animation.totalFrame-1, endPlaying);
__________________
Отряд Котовскага

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
Цитата:
Сообщение от Juice_Green Посмотреть сообщение
to Jewelz:
пользовательские классы и и куски кода на кадры вешать - плохая практика
к примеру у меня есть библиотека с MovieClip в котором нарисована анимация персонажа: поворот, прыжок, удар

соответственно я запускаю ту или иную анимацию по какому-то действию пользователя, как мне тогда лучше узнать что анимация остановилась и можно делать следущее действие?
__________________
low +

Старый 07.12.2009, 13:47
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 6  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Читайте про свойства currentFrame, currentFrameLabel в help'е
__________________
...вселенская грусть

Старый 07.12.2009, 14:15
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 7  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
Jewelz, не увидел убедительных аргументов, просто потом разбираться в вашем коде будет очень сложно другому человеку, да и сами запутаетесь, когда забудете где делаете диспетчирезацию события

Старый 07.12.2009, 15:47
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 8  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
Цитата:
Сообщение от Juice_Green Посмотреть сообщение
Jewelz, не увидел убедительных аргументов, просто потом разбираться в вашем коде будет очень сложно другому человеку, да и сами запутаетесь, когда забудете где делаете диспетчирезацию события
я вам аргументов и не приводил, я спросил как лучше сделать то, что я предложил без кода в последнем кадре

как бы вы сделали? мне очень интересно, потому что я знаю что писать код в кадрах не есть хорошо (сам использую только stop(); и dispatchEvent()), если есть более удобный способ, я с радостью приму его во внимание
__________________
low +

Старый 07.12.2009, 17:35
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 9  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
я писал выше - уточняю:
Код AS3:
public function playAnimation():void
{
animation.play();
animation.addFrameScript(animation.totalFrame-1, endPlaying);
}
public function endPlaying():void
{
animation.stop();
// если надо то диспатчим событие, хотя мы уже в хэндлере события
}
__________________
Отряд Котовскага

Старый 07.12.2009, 17:46
Jewelz вне форума Посмотреть профиль Отправить личное сообщение для Jewelz Найти все сообщения от Jewelz
  № 10  
Ответить с цитированием
Jewelz
 
Аватар для Jewelz

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
Котяра, с вашим кодом я абсолютно согласен, только он не удобен если на одной таймлайн находится несколько анимаций, и не известен точный кадр их окончания, + анимация может быть перерисована и длительность увеличится => изменится номер последнего кадра
__________________
low +

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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