Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Проблемы со сценой в подгружаемых swf (http://www.flasher.ru/forum/showthread.php?t=189249)

tofflife 10.12.2012 21:00

Проблемы со сценой в подгружаемых swf
 
Всем привет! Странное дело:

Создал две swf, загружаю одну во вторую, и во второй swf сеттеры inspectable properties не вызываются у всех компонентов на главной сцене(тоесть все, что я задал на вкладке properties не передается в сеттеры компонента Component). Так же не работает и код во фреймах.

Main document главной swf(упрощен):

Код AS3:

package {
        import flash.display.*;//Для краткости
        import flash.net.URLRequest;
        import flash.events.Event;
        import flash.system.*;//Для краткости примера
        import gui.GUIClass1;
 
        GUIClass1;//Обратите внимание на использование этого класса, пожалуйста
        public class Main extends MovieClip{
 
                public function Main():void{
                        loadSwf("GUI1.swf", onLoadedSWF1);
                }
 
                private function onLoadedSWF1(event:Event):void{
                        addChild(LoaderInfo(event.currentTarget).loader);
                }
 
                private function loadSwf(path:String, hdlr:Function):void{
                        //new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain));
                        var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
                        var ldr : Loader = new Loader();
                        ldr.load(new URLRequest(path), context);
                        ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, hdlr);
                }
        }
}

Main document второй swf:
Код AS3:

package gui{
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.net.registerClassAlias;
        import component.Component;
        public class GUIClass1 extends MovieClip{
                public var cmpnt:Component;
 
                public function GUIClass1(){
                        super();
                }
        }
}

Код компонента:
Код AS3:

package component{
        import flash.display.MovieClip;
        import flash.text.TextField;
        public class Component extends MovieClip{
                public var textField : TextField;
 
                [Inspectable(type="String", defaultValue="", verbose="0")]
                public function get text():String{return textField.text;}
                public function set text(txt:String):void{
                        textField.text = txt;
                }
 
        }
}


Самое странное, что если убрать импорт GUIClass1 из главной swf, то все начинает работать.
Как я понимаю, проблема в конфликтах классов. Как видите, я использую доменный механизм, но он не помог.
Вы сталкивались с таким?


Часовой пояс GMT +4, время: 09:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.