![]() |
Обработка событий между главной и подгружаемой флэшкой
Есть два swf-файла, первый загружает второй. Возможно ли, прописав во второй флэшке
Код:
dispatchEvent(new Event("DOWNLOAD_COMPLETE"));Код:
addEventListener("DOWNLOAD_COMPLETE", eventDownloadComplete);В AS2 для взаимодейсвия подгружаемых флэшек использовал _global-функции, на что их заменить в AS3, подскажите пожалуйста? |
не уверен но думаю надо так:
dispatchEvent(new Event("DOWNLOAD_COMPLETE",true)); |
Это включает фазу пузырька, на сколько я знаю...
Не, решение пришло неожиданно :), просто нужно событие вешать на stage: Код:
stage.dispatchEvent(new Event("DOWNLOAD_COMPLETE", true));Код:
stage.addEventListener("DOWNLOAD_COMPLETE", eventDownloadComplete); |
ну а пузырьки то чем плохи? у меня так работает с пузырями...
|
мдя, действительно работает, и stage никакой не нужен тогда, спасибо :)
|
да не за что
|
Вот блин, что-то я натупил капитально... события ловились, пока не оказалось, что и диспатчер и листенер я прописал в одном swf-файле :)))))
Умные люди говорят: нужно юзать интерфейсы - видать события между разными флэшками все же не передаются :( |
а причем тут интерфейсы? передаются. проверял.
это в подгружаемой флешке: Код:
dispatchEvent(new Event("onStartFire", true));Код:
addEventListener("onStartFire", onStartFire); |
хм, мистика, у меня тоже заработало, но только если и диспатчер и листенер вешать на stage - наверное это из-за того, что в первой флэшке класс у меня подвешен на Document class, а в подгружаемой функции класс висит на MovieClip'е... может у них как бы области видимости событий не пересекаются, хотя бред какой-то :))) Но, в любом случае, еще раз спасибо :)
|
Вложений: 1
нет.. на стейдж не надо вешать я думаю.. пузыри для того и нужны чтоб от предка к родителю подниматься.
ловите исходник. в clip.fla код в кадре (не охота было писать класс). там через несколько фреймов он диспатчит а главный ловит это. Вложение 19922 |
| Часовой пояс GMT +4, время: 22:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.