actionscript-3 - 在AS3中加载SWF,但Flash会不断重复构造函数,该怎么办?

标签 actionscript-3 crash flash loader infinite-loop

我正在使用Loader类导入多个外部文件,其中一个是swf文件。这样做时(我之前做过成功,所以没想到有任何问题),我遇到了各种各样的错误,最后Flash崩溃了。

我在构造函数中放了一条跟踪,它并没有跟踪一次,而是一直跟踪,这表明构造函数陷入了循环。我猜想太多相同SWF文件的加载是导致Flash最终崩溃的原因。

这是我的代码(swf im加载现在是一个简单的测试文件,其中包含图像而没有代码):

    private var slides:Loader = new Loader();

    public function DocumentClass()
    {
        trace(1)
        slides.load(new URLRequest("Resources/Slides.swf"));
        slides.contentLoaderInfo.addEventListener(Event.COMPLETE, SlidesComplete);
    }


    public function SlidesComplete(evt:Event):void
    {
        slides.contentLoaderInfo.removeEventListener(Event.COMPLETE, SlidesComplete);
        addChild(slides);
    }

这将跟踪“11111111111 ...”,所有内容最终都消失了。

帮帮我!

最佳答案

尝试将stop()操作放在加载的SWF文件的顶部(在ActionScript中或在时间轴上)。同时,swf可能正在加载中并且正在运行播放并循环运行(因此,您的代码会一遍又一遍地运行)。

在SWF完全加载之前,我会进行进度监视,然后跳到您的显示框架:

  • 创建一个要加载的部分(如果要使用预加载器,则可以选择)
  • 为加载的内容创建另一个部分(关键帧集)。我使用关键帧是因为它很容易,但是您也可以等待实例化类,直到加载完成。

  • 以下是我偶尔创建的摘录:
    // stop the playhead from moving ahead
    stop(); // you can also use gotoAndStop("loading"); if you want
    
    function loaderProgressHandler(event:Event):void {
        // switch the framehead to main which will show your content
        if(event.bytesLoaded >= event.bytesTotal) {
            event.target.removeEventListener(Event.PROGRESS, this.loaderProgressHandler);
            this.gotoAndStop("main");
        }
    }
    
    this.loaderInfo.addEventListener(Event.PROGRESS, this.loaderProgressHandler);
    

    希望有帮助!

    关于actionscript-3 - 在AS3中加载SWF,但Flash会不断重复构造函数,该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154318/

    相关文章:

    android - 如何从 flash 迁移到 adobe air iOs 和 android?

    应用程序崩溃时的android静态变量行为

    ios - NSURLConnection sendSynchronousRequest 在慢速网络上崩溃

    c# - C# 上的 Flash 相似性

    iphone - 通过 Flex 访问 iOS API 的技巧?

    actionscript-3 - 如何为 ActionScript 3.0 实现自定义 google 搜索

    iphone - UIImageView变为黑色,并使所有其他图像变为黑色

    flash - Adobe 卷云 : Quickest way to deliver a chunk of data to a single peer with known id

    actionscript-3 - 有没有办法判断一个对象是类还是对象?

    actionscript-3 - as3 - 从父 swf 到子 swf 的 dispatchEvent