Actionscript 3 swf的深嵌套仅适用于一级深
我在每个swf文件中都有一个简单的swf加载程序例程 a、 swf加载/添加b.swf和b.swf加载/添加c.swf 当我运行b.swf时,我清楚地看到c.swf已加载 但当我运行a.swf时,我看到的是b.swf,而不是c.swf 注意:我正在获取类的引用,手动实例化它并将其添加到display中,但仅在1级深度工作。对于每个加载程序,重复使用以下例程 如果我使用this.onResultloader.content而不是this.onResultnew classRef,编辑它会起作用;但是我需要让它为classRef工作 试试这个:Actionscript 3 swf的深嵌套仅适用于一级深,actionscript-3,flash,loader,Actionscript 3,Flash,Loader,我在每个swf文件中都有一个简单的swf加载程序例程 a、 swf加载/添加b.swf和b.swf加载/添加c.swf 当我运行b.swf时,我清楚地看到c.swf已加载 但当我运行a.swf时,我看到的是b.swf,而不是c.swf 注意:我正在获取类的引用,手动实例化它并将其添加到display中,但仅在1级深度工作。对于每个加载程序,重复使用以下例程 如果我使用this.onResultloader.content而不是this.onResultnew classRef,编辑它会起作用;但
public function load():void {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(this.url), new LoaderContext(false, ApplicationDomain.currentDomain));
}
我试过了,但没有成功,如果我使用这个.onResultevent.target.content,这是唯一有效的方法,很遗憾知道。为了更清楚,让我重复这个问题。嵌套的SWF无法显示加载,因为它是子SWF,或者换句话说,grand child无法添加到display中。我通过创建简单的3个fla文件a.fla、b.fla、c.fla,每个文件都有相关的.as文件来隔离问题,并且它在classRef或event.target.content两种情况下都能完美工作,这意味着我的代码有问题。在幕后,新的classRef被传输到父文档类并添加到那里。有趣的新classRef不起作用,但event.target.content在我的代码中起作用。
public function load():void {
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(this.url), new LoaderContext(false, ApplicationDomain.currentDomain));
}