0

目前我的预加载器有一些问题。

我有一个带有以下代码的 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%。

如果有人可以帮助我,我将不胜感激。

问候

4

2 回答 2

0

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

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

您可能需要将操作脚本设置的导出框架设置为 2,具体取决于您使用的类/组件。

高温高压

于 2009-12-22T12:47:44.660 回答
0

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

假设您使用的是 Flash 而不是 Flex Builder,那么您的 buildUI() 调用最好放在第 2 帧上。然后按照 George 写的关于将 Actionscript 导出到第 2 帧的内容进行操作。

于 2009-12-22T14:25:33.017 回答