|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Как лучше всего удалить MovieClip со сцены?
trace("hello world!")
Ситуация: - есть куча классов с отрисованной анимацией - каждый класс наследуется от MovieClip - мувик нужно добавить на сцену, проиграть 1 раз и затем удалить Как сделано сейчас: - через Delegate создается анонимная функция, которая посредством addFrameScript вешается на последний кадр мувика Вопрос: Можно ли это сделать лучше и, если да, то как? Заранее trace("thank you, folks")
__________________
...вселенская грусть |
|
|||||
Лучше бросать в конце анимации событие сигнализирующее об окончании анимации. Это позволит одинаково работать с анимациями имеющими разные уровни вложенности (из глубины анимации можно бросить всплывающее событие)
Добавлено через 1 минуту К тому же при этом не надо будет использовать недокументированные возможности флеша. |
|
|||||
Цитата:
Цитата:
1) лезть в каждую анимацию и писать ей скрипт в кадре (это epic fail) 2) эмм... а как еще? Я так понимаю, что только через addFrameScript. Только я не понимаю, что такое нужно в этот addFrameScript написать, чтобы заставить мувик отправить нужное событие и чтобы это не было анонимной функцией
__________________
...вселенская грусть |
|
|||||
Цитата:
Цитата:
Последний раз редактировалось f.g.programmer; 29.10.2010 в 01:04. |
|
|||||
Бросание кем? В данном случае вариант с Delegate и прямым вызовом мне кажется более приемлемым. Насчет jsfl - круто это все до тех пор, пока Вам всегда нужно использовать графику в одном контексте. ИМО - fail =)
__________________
...вселенская грусть |
|
|||||
Цитата:
Цитата:
Через некоторое время изменяем анимацию на несколько кадров, ищем в коде где к ней привязаны addFrameScript, и правим их. Так? Добавлено через 3 минуты Да, ещё нужно делать все анимации одноуровневыми или прописывать и помнить идентификаторы вложенных клипов (снова же лезть в каждую анимацию). Либо, для случая с удалением, находить самую длинную анимацию из вложенных, и считать её длину продолжительностью проигрывания. Последний раз редактировалось f.g.programmer; 29.10.2010 в 08:50. |
|
|||||
gloomyBrain, открыл я доку от адоба и обнаружил, что единственное место в хэлпе по ас3, где упоминается делегирование тут, да и то больше в контексте, мол для программеров, которые не могут отвыкнуть от ас2 и, мол, так делать не хорошо.
Исходя из этого рекомендовал бы всю анимацию наследовать от некоего класса, в котором через addFrameScript на последний кадр вешалась бы функция, которая диспатчила команду наверх об удалении. Что касается значительной вложенности - это ИМХО частный случай, требующий другого, индивидуального, подхода. ЗЫ. если есть другие варианты - тоже было бы интересно...
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
Цитата:
|
Часовой пояс GMT +4, время: 10:22. |
|
« Предыдущая тема | Следующая тема » |
Теги |
delegate , removeChild |
|
|