0

誰でもこれで私を助けることができますか?

Chrome と IE で swf をプリロードする際に問題に直面しています。Firefox でのみ動作します。

フラッシュをプリロードすると、bytesTotal が 0 になります。そのため、bytesLoaded を bytesTotal で割ると無限大になります。

GZIP でこの記事を読みました。 http://patrickmcd.com/2009/04/20/flash-preloading-errors-turn-off-gzip/

ただし、応答圧縮が gzip されていないことをテストしました。

これが私のプリロードスクリプトです:

 addEventListener(Event.ENTER_FRAME, preloadSelf);

 function preloadSelf(e:Event):void {
        var bytestotal:int = stage.loaderInfo.bytesTotal;
        var bytesloaded:int = stage.loaderInfo.bytesLoaded;
        var shellLoaded:int = bytesloaded / bytestotal * 100;
        trace("bytestotal : ", bytestotal);
        trace("bytesloaded : ", bytesloaded);
        trace("shellLoaded : ", shellLoaded);


        if (shellLoaded== 100) {
            removeEventListener(Event.ENTER_FRAME, preloadSelf);
            doSomethingElse();
        }

}

4

1 に答える 1

0
addEventListener(Event.ENTER_FRAME, preloadSelf);

 function preloadSelf(e:Event):void {

    if(stage.loaderInfo.bytesLoaded > 0)
    {
        var bytestotal:int = stage.loaderInfo.bytesTotal;
        var bytesloaded:int = stage.loaderInfo.bytesLoaded;
        var shellLoaded:int = bytesloaded / bytestotal * 100;
        trace("bytestotal : ", bytestotal);
        trace("bytesloaded : ", bytesloaded);
        trace("shellLoaded : ", shellLoaded);


        もし (shellLoaded== 100) {
            removeEventListener(Event.ENTER_FRAME, preloadSelf);
            doSomethingElse();
        }
     }
}

于 2010-08-21T09:31:49.230 に答える