预加载器模拟白屏:AS3

时间:2009-12-22 12:38:49

标签: actionscript-3 preloader

目前我的预加载器出现了一些问题。

我有一个as3类网站,其代码如下:

public function Website() {

        addEventListener(Event.ENTER_FRAME, PreloaderStart);
    }

    private function PreloaderStart(e:Event):void {
        var bt:int=loaderInfo.bytesTotal;
        var bl:int=loaderInfo.bytesLoaded;
        trace(bl/bt);
        var pt:int=Math.round(100*bl/bt);
        preloaderMC.loadInfo.text="loading "+pt+"%";
        if (bl==bt) {
            removeEventListener(Event.ENTER_FRAME, PreloaderStart);
            PreloaderOnComplete();
        }
    }
    private function PreloaderOnComplete():void {
        trace("loaded");
        buildUI();
    }

我把我的舞台画成黑色,当我只是运行我的flash文件时,它会跟踪“加载”,所以一切都加载好并构建了UI。但是当我通过按ctrl +两次进行模拟时,我得到一个白色的屏幕并在大约10秒后。 (我的swf为1mb,它模拟为100kbs)它立即以100%显示预加载器并加载我的UI。所以我的文字不会改变0% - > 100%,但是当一切都装满时我得到100%。

如果有人能帮助我,我会感激不尽。

此致

2 个答案:

答案 0 :(得分:0)

使用带宽分析器查看第一帧。如果您要加载很多东西,可以在第2帧移动它们,并为第一帧留下尽可能少的东西。

如果您查看带宽分析器并模拟下载,您应该会看到预加载器或任何内容仅在加载第一帧后显示。

您可能需要将actionscript设置的导出帧设置为2,具体取决于您正在使用的类/组件。

HTH

答案 1 :(得分:0)

如果你的buildUI调用引用任何其他类(它可能会这样做),那么所有代码​​也将被加载到第一帧。

假设您使用的是Flash而不是Flex Builder,那么您的buildUI()调用最好放在第2帧。并执行George写的有关导出到第2帧的Actionscript的内容。