PDA

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


tofflife
10.12.2012, 21:00
Всем привет! Странное дело:

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

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

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:

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();
}
}
}

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

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, то все начинает работать.
Как я понимаю, проблема в конфликтах классов. Как видите, я использую доменный механизм, но он не помог.
Вы сталкивались с таким?