Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 swf的深嵌套仅适用于一级深_Actionscript 3_Flash_Loader - Fatal编程技术网

Actionscript 3 swf的深嵌套仅适用于一级深

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,编辑它会起作用;但

我在每个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工作

试试这个:

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