2

Flex アプリ用のカスタム プリローダーを作成していますが、次のような動作に気付きました: 読み込み時にプログレス バーが 100% になり、その後ダウンしてから元に戻り、アプリの読み込みが完了するまで続きます。

dowloadprogress リスナーにトレースを入れると、アプリの読み込み中に bytesLoaded と bytesTotal の両方が増加することがわかりますが、必ずしも同時に増加するとは限りません。

コード:

private function onDownloadProgress(event:ProgressEvent):void {
        var loaded:int = event.bytesLoaded;
        var total:int = event.bytesTotal;
        trace(event.target,loaded,total);
        _starfield.progress = loaded/total;
    }

出力:

[object Preloader] 134276 134276
[object Preloader] 265348 285007
[object Preloader] 285007 285007
[object Preloader] 678223 1322116
[object Preloader] 809295 1322116
[object Preloader] 1322116 1322116
[object Preloader] 1322116 1322116
[object Preloader] 1387652 1584342
[object Preloader] 1791882 1791882
[object Preloader] 2293133 2293133
[object Preloader] 2362938 2362938
[object Preloader] 2362938 2362938
[object Preloader] 2362938 2362938

ロード中に bytesTotal が変化するのはなぜですか?

4

2 に答える 2

4

ランタイム共有ライブラリのダウンロードが開始されると、合計が増加する可能性があります。Preloaderソースコードを読むことで、それについてもう少し学ぶことができます。

SDK\frameworks\projects\framework\src\mx\preloaders\Preloader.as

デフォルトよりも優れた RSL を処理するカスタム プリローダー サンプルへのリンクを次に示します。

http://coding.bhirschmann.de/2008/03/20/preloader-for-flex-with-rsl-support/

http://www.leavethatthingalone.com/blog/index.cfm/2009/11/11/Flex4CustomPreloader

于 2010-05-04T02:04:53.497 に答える
0

または別の方法として、プリローダーを 6 段階に分割し、プリローダーが各コンポーネントをロードして 0 から 100% まで実行し、ロードされた数または「パーツ」をインクリメントして、それも画面に表示します。

于 2010-09-09T21:31:34.013 に答える