AS3外部预载器#1009噩梦

时间:2013-06-06 15:32:45

标签: actionscript-3 class external preloader

我知道以前曾经问过这个问题,但经过我可以找到的每一个帖子拖了一个小时之后,我决定直接问。

我在Flash IDE中制作了一个完全在文档类中构建的SWF(这是我使用文档类的第一个项目,但到目前为止还没有任何问题)。在这里面有很多关于变量等阶段的引用。我有另一个SWF(再次在文档类和我试图制作的第一个外部预加载器中完成)预加载主SWF。我遇到的问题是 - 当主要SWF在添加之前引用该阶段时 - 我得到#1009错误。

我已经尝试了两种方法来纠正这个问题,但令我惊讶的是,这两种方法都没有奏效。第一个是在加载之前添加SWF的加载器,如下面的代码所示:

package 
{
    import flash.display.Loader;
    import flash.net.URLRequest;
    import flash.events.ProgressEvent;
    import flash.display.MovieClip;
    import flash.events.Event;

    public class claude_loader extends MovieClip
    {
        public var main_movie:Loader = new Loader  ;
        public function claude_loader()
        {
            addChild(main_movie);
            trace(main_movie.stage);
            main_movie.load(new URLRequest("claudia_summers.swf"));
            main_movie.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, load_progress);

        }
    public function load_progress(e:ProgressEvent):void
    {
        trace(e.bytesLoaded+ " out of: " + e.bytesTotal);
    }
}

但这没有任何改变。我不太明白为什么,因为main_movie加载器有一个阶段(跟踪确认),所以根据我的推理,加载的SWF应该没有问题。

我还尝试将主SWF更改为在ADDED_TO_STAGE事件被触发之前不运行,但事件在添加之前被触发(即使我自己播放主SWF?)。

某人可以帮助我吗?我错过了一些非常明显的东西吗?

P.S。我可以发布主SWF代码,但它超过1000行,所以不确定哪个部分 - 如果有的话 - 会有所帮助。

1 个答案:

答案 0 :(得分:0)

不确定如何,但我设法让ADDED_TO_STAGE监听器在加载的swf中工作,这已经解决了问题。