![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2010
Сообщений: 23
|
Добрый день!
Существует проект на AS3 в него пытаюсь загрузить внешние SWF. Всё загружается хорошо, но почему то не выполняется код на таймлейне вложенных в эту SWF клипов. LoadedSWF (MovieClip) - Clip1 на кадре 1 - Clip2 на кадре 4 В первых кадрах Clip1 и Clip2 стоит trace('success'); И после загрузки и добавления к stage почему-то второй trace не срабатывает. (В общем как и любой другой код). Ошибок тоже нет. Если Clip2 передвинуть на первый кадр то trace в нём заработает. Добавлять пробовал и так private function onCompleteHandler(loadEvent:Event):void { var tempClip:MovieClip = loadEvent.currentTarget.content; addChild(tempClip) } private function onCompleteHandler(loadEvent:Event):void var tempClip:MovieClip = loadEvent.currentTarget.content; var ClassDefinition:Class = tempClip.loaderInfo.applicationDomain.getDefinition("Main") as Class; var _currentClip:MovieClip = new ClassDefinition(); addChild(currentClip); } ![]() Проект в FalshDevelop использую Flex SDK 4.6 с AIR 3.9, под плеер 11.5 Спасибо! |
|
|||||
|
[++]
|
Суть проблемы описана сумбурно, но думаю что решение в следующем:
1) здесь я так понимаю вы слушаете событие, приходящее от LoaderInfo, соотв. и loadEvent.currentTarget также будет являться экземпляром класса LoaderInfo. Обращаться к загруженному мувиклипу нужно как loadEvent.currentTarget.loader.content 2) В загружаемых клипах ВСЕГДА ставьте листенер на Event.ADDED_TO_STAGE и по этому событию - уже начинайте выполнение своего кода. В противном случае вы не можете предсказать момент, когда код в загружаемом мувике начнёт выполняться! p.s. И вообще код на таймлайне, тем более вложенных мувиков - очень очень ненадёжный вариант. Лучше не ленитесь - делайте классы для мувиков, в которых нужен какой то код, сложнее чем stop() и gotoAndPlay() |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:41. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| external swf , loader as3 |
|
|