Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/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

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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Apache flex 当加载的movieclip在右侧帧中准备就绪时获取事件_Apache Flex_Flash_Actionscript_Movieclip_Swfloader - Fatal编程技术网

Apache flex 当加载的movieclip在右侧帧中准备就绪时获取事件

Apache flex 当加载的movieclip在右侧帧中准备就绪时获取事件,apache-flex,flash,actionscript,movieclip,swfloader,Apache Flex,Flash,Actionscript,Movieclip,Swfloader,我正在开发一个应用程序,使用swf加载元素并向加载的swf添加属性。我使用SWFLoader加载电影,在完成事件时,我将加载的电影剪辑移动到特定帧,然后列出其显示列表。我发现如果我很快浏览这个列表,它就会被记录下来。也许代码更简洁: loader.addEventListener(Event.COMPLETE, function(evt:Event):void{ var mc:MovieClip = MovieClip(loader.content); mc.gotoAndSto

我正在开发一个应用程序,使用swf加载元素并向加载的swf添加属性。我使用SWFLoader加载电影,在完成事件时,我将加载的电影剪辑移动到特定帧,然后列出其显示列表。我发现如果我很快浏览这个列表,它就会被记录下来。也许代码更简洁:

loader.addEventListener(Event.COMPLETE, function(evt:Event):void{
    var mc:MovieClip = MovieClip(loader.content);
    mc.gotoAndStop(frameNumber);
    for(i = 0; i < mc.numChildren; i++){
         trace(mc.getChildAt(i));
    }
}
我错过了加载的swf中的一些子项,在某些情况下,我会得到空值。现在,我添加了一个计时器,在列出显示列表之前等待250毫秒,可以正常工作,但它非常缓慢且效率低下

另一个奇怪的行为是,在前面的代码片段中,我无法获得一些MovieClip,即使计时器已经就位。我必须在加载的swf中插入一个函数,如下所示:

function getItems():Array{
    var res:Array = [];
    for(var i:uint = 0; i < this.numChildren; i++){
        res.push(this.getChildAt(i));
    }
    return res;
}
检索正确的子项列表

非常感谢

如果使用该类,则需要将事件侦听器添加到加载程序的属性,而不是加载程序对象本身。这是一个非常常见的错误

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(evt:Event):void{
    var mc:MovieClip = MovieClip(loader.content);
    mc.gotoAndStop(frameNumber);
    for(i = 0; i < mc.numChildren; i++){
         trace(mc.getChildAt(i));
    }
}

HTH

您好,我正在使用Flex SWFLoader作为Laoder类的Flex子类,并等待该事件。问题是,当加载电影时,我调用mc.gotoAndStop,然后在新帧中的子帧仍然为空时快速列出mc子帧。好的,现在我知道了哪个SWFLoader,您可以尝试改用INIT处理程序吗?