AS3预加载问题

时间:2010-08-21 09:04:27

标签: actionscript-3 preloading

那里有人可以帮我这个吗?

我在Chrome和IE中预加载swf时遇到了一些问题。 它只适用于Firefox。

当我预加载flash时,我将bytesTotal设为0。 所以当我的bytesLoaded除以bytesTotal会导致无穷大。

我在GZIP上阅读了这篇文章。 http://patrickmcd.com/2009/04/20/flash-preloading-errors-turn-off-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();
        }

}

1 个答案:

答案 0 :(得分: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);


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