0

現在、プリローダーに問題があります。

次のコードを含む as3 クラスの Web サイトがあります。

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();
    }

ステージを黒くペイントし、単にフラッシュ ファイルを実行すると、「ロード済み」とトレースされるため、すべてが適切にロードされ、UI がビルドされます。しかし、ctrl+enter を 2 回押してシミュレートすると、約 10 秒後に白い画面が表示されます。(私の swf は 1mb で、100kbs でシミュレートします) プリローダーが 100% で即座に表示され、UI が読み込まれます。したがって、テキストは 0% から 100% に変化しませんが、すべてが読み込まれると 100% になります。

誰かが私を助けることができれば、私は感謝します.

よろしく

4

2 に答える 2

0

buildUI 呼び出しが他のクラスを参照する場合 (おそらくそうです)、そのすべてのコードも最初のフレームにロードされます。

Flex Builder ではなく Flash を使用していると仮定すると、buildUI() 呼び出しはフレーム 2 に配置することをお勧めします。また、Actionscript がフレーム 2 にエクスポートされることについて George が書いたことを実行します。

于 2009-12-22T14:25:33.017 に答える
0

帯域幅プロファイラーで最初のフレームを見てください。ロードするものがたくさんある場合は、それらを 2 番目のフレームに移動し、最初のフレームにはできるだけ少ないものを残すことができます。

帯域幅プロファイラーを調べてダウンロードをシミュレートすると、最初のフレームが読み込まれた後にのみプリローダーまたはコンテンツが表示されることがわかります。

使用しているクラス/コンポーネントによっては、actionscript 設定のエクスポート フレームを 2 に設定する必要がある場合があります。

HTH

于 2009-12-22T12:47:44.660 に答える