![]() |
|
|
|||||
Регистрация: Aug 2009
Сообщений: 75
|
![]() Здравствуйте.
Пытаюсь загрузить swf с помощью класса Loader, как это написано в справке адоби: http://help.adobe.com/en_US/FlashPla...ay/Loader.html вот мой код: /** * ... * @author Vilya */ public class Main extends Sprite { var ldr:Loader = new Loader(); public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point var req:URLRequest = new URLRequest('castle.swf'); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, onSwf_load ); ldr.load(req); addChild(ldr); } private function onSwf_load(e:Event):void { ldr.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSwf_load ); trace('loaded'); } } Проблема в том что функция onSwf_load() почему-то зацикливается и постоянно вываливается трэйс "loaded" и загруженная swf-ка не добавляется на сцену =(. В чём проблема? При чём если убрать addChild(ldr) - то загрузка происходит только 1 раз. Всё это работает только с swf-ками, собранными из Flash IDE, в которых нет кода. Если же swf-ка с кодом, то FD показывает окошко "Internal debuger exception", но ни номера, ни причины ошибки не пишет.... =( Последний раз редактировалось Vilya21; 23.02.2011 в 17:06. |
|
|||||
Если заголовок отражает суть, т.е. свфка грузит саму себя, то ничего странного нет. Просто её код выполняется снова и снова. Если же убрать addChild(ldr);, то выполнение кода загруженной свфки прекратится при условии if (stage) init();
|
|
|||||
Регистрация: Aug 2009
Сообщений: 75
|
Нет, нет - грузится другая swf-ка.
|
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Ну а перенос addChild(ldr) в функцию onSwf_load() ситуацию не исправляет?
|
|
|||||
Регистрация: Aug 2009
Сообщений: 75
|
Не, абсолютно то же самое.
Добавлено через 7 минут Попробовал добавить в TextField htmlText "yo <img src = 'castle.swf' id = 'castleName'>". Так вот если в swf чисто графика - то она добавляется прекрасно, а если вместе с кодом - то либо добавление swf-ки опять зацикливается, либо вылазит "Internal debuger exception". Добавлено через 1 час 27 минут Долго крутил, мутил - вот что получается: public function Main():void { trace('main'); if (stage) init() else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { trace('init()'); removeEventListener(Event.ADDED_TO_STAGE, init); // entry point var req:URLRequest = new URLRequest('castle.swf'); ldr.load(req); addChild(ldr); } Почему так происходит? Что я не понимаю? |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:00. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|