判断swf是否加载完毕:
this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal
非常抱歉,在lighttpd下,使用ff浏览器,就不正常了。bytesLoaded总是会比bytesTotal小,实际上加载完毕了也是如此。
似乎是头部数据不一样导致。知道正解的同学请留言…
改成:this.framesLoaded==this.totalFrames。这样就更保险了。
补充:
感谢lightoy的提醒:使用framesLoaded和totalFrames判断是否加载完毕可行,但是做加载进度是很不准确的。
对于不是基于时间轴的swf也适用吗
@fluensh
不适合,如果时间轴是10帧,而只有第n帧有内容,那么加载进度只显示(n/10)*100%,最后为100%。
@lightoy
不会啊,我测试结果是正常的。可否提供test swf?
AS3中framesLoaded不能实时模拟下载的帧数?(http://www.lightoy.cn/download/l_test.fla)
@lightoy
恩 确实如此。非常感谢。
如果只是为了判断是否加载完成..
用loaderInfo.width是不是也可以
不报错就是加载完了…偏方偏方~
@小4
loaderInfo.width是读取swf头文件的结果。这个很快就能得到,完全不要等待整个swf加载完毕。
学习…
监听Event.COMPLETE不就可以了么。。
可以用Loader+URLStream 既可以保证加载(也会减轻服务器压力),又可以加密,loader用alchemy写
歪歪法子
root.addEventListener(“allComplete”,allComplete);
@汪汪
木有allComplete这个事件吧… 怎么说呢?