我在每个SWF文件中都有一个简单的swf加载程序例程。
a.swf
加载/添加b.swf
和b.swf
加载/添加c.swf
当我运行b.swf
时,我清楚地看到c.swf
已加载
但是当我运行a.swf
时,我看到b.swf
但不是c.swf
注意:我正在获取类的引用,手动实例化并将其添加到显示中,但仅适用于1级深度。以下例程重用于每个加载器。
修改如果我使用this.onResult(loader.content)
而不是this.onResult(new classRef());
,它可以正常工作,但我需要让它适用于classRef
public function load():void {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(this.url));
}
private function completeHandler(event:Event):void {
var className:String = getQualifiedClassName(loader.content);
var classRef:Class = loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
this.onResult(new classRef());
}
答案 0 :(得分:0)
试试这个:
public function load():void {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(this.url), new LoaderContext(false, ApplicationDomain.currentDomain));
}