![]() |
как достучаться до child'ов Мувика, которые находятся не в первом фрейме таймлайна
Вложений: 1
Есть такая проблема : у меня есть мувиклип "main" который загружается на сцену. Этот мувиклип состоит из 3-х кадров, в которых также находятся дочерние мувиклипы . Так вот достучаться я могу только до того дочернего мувиклипа, который находится в первом кадре (и естественно до его чайлдов, если такие имеются). Как мне достучаться до дочернего мувиклипа , который находится например в третьем кадре основного мувика? Когда я пытаюсь это сделать , то ловлю эксепшн (типо пытаюсь обратиться к null object).
Исходник с тестом прилагается: Я с флешем не очень знаком (работаю с Флексом), подскажите пожалуйста как я могу зафиксать эту проблемку ... Заранее Благодарю. |
могу только предложить посмотреть как и что
Код AS3:
|
Аж стыдно что сам не догадался поставить задержку, конечно костыль, но думаю пойдёт :). silin огромное спасибо!
Дело в том, что я должен вызывать различную анимацию(смех, прыжки, бег и т.д.) загружаемых во Флекс аваторов (персонажей, которые сделана на Флеше). И заказчик просит , чтобы они были как можно проще реализованы, чтобы аниматор мог потом по моему примеру создавать других аваторов. Я видел как работает этот "аниматор", он реально знаком с Флешем на уровне создать шарик и переместить его на таймлайне с помощью Create Motion Tween в лучшем случае, большинство анимации тупо нарисовано в кадрах, а про знании хотя бы о существовании AS я вообще молчу. Так вот мой вариант реализации аватара им вроде понравился и понятен. Я с флешем знаком не очень хорошо, поэтому не знаю как лучше организовать смену анимации , вот и выбрал движение по кадрам. Я так понимаю, что правильней было бы разбить анимацию на отдельные мувики и грузить их по мере необходимости на сцену , а предыдущих удалять? Если не сложно , не могли бы вы посоветовать как было бы правильней организовать мувики в моем случае, ну или дать линку на похожий пост ? Спасибо. |
если уж существует такая необходимость, то можно поступить так:
Код AS3:
Только в самом обработчике нужно будет анализировать e.target на предмет того, что добавлено, т.к. обработчик будет срабатывать на все элементы: на клипы, кнопки, графику и т.д. Еще вариант, в нужном кадре делать dispatchEvent своего события, например AVATAR_ADDED, в классе подписаться на это событие и определить функцию, которая будет работать с этим клипом так, как будто клип находится в первом кадре. Но заставить с этим вариантом работать дизайнера - задача куда более сложная :) |
Вложений: 1
Цитата:
Вот, не поленился и сделал все с нуля. Надеюсь это хоть как-то поможет тебе: это пример с использованием компонента (в этом случае я сомневаюсь что можно будет обращаться к дочерним элементам загружаемого мувика, хотя нужно проверить), можно еще и с использованием муви клипов (а так точно можно обращаться к дочерним анимациям). Если захочешь то с муви клипом тоже сделаю. |
Всем огромное спасибо за информацию, очень помогли ваши посты!
Попробую объяснить заказчику более правильный вариант реализации аваторов (думаю скорее придётся ему дать урок по Флешу и AS3 :) ). |
всегда пожалуйста, рад был помочь
вот и код для муви клипа вместо компонента: Код AS3:
|
| Часовой пояс GMT +4, время: 02:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.