是否可以在as3预加载器中设置总字节数?我不确定这是否正确,但为了避免无限循环,我已经做到了。
var loadper:Number=0;
var total_bytes:Number = 3484484;
loaderInfo.addEventListener(ProgressEvent.PROGRESS, loader);
function loader(filename:ProgressEvent) {
var loaded_bytes:Number = stage.loaderInfo.bytesLoaded;
_txt.text=String(loadper+"%");
if(loadper>=100) {
preLoader_mc.perct_mc.visible=false;
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loader);
}
}
答案 0 :(得分:1)
只需监听文件已完全加载后触发的Event.COMPLETE
。除了一些其他调整:
loaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress);
loaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
function loaderProgress(event:ProgressEvent) {
var percentage:Number = Math.round((stage.loaderInfo.bytesLoaded / stage.loaderInfo.bytesTotal) * 100);
_txt.text = percentage + "%";
}
function loaderComplete(event:Event):void
{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loaderProgress);
loaderInfo.removeEventListener(Event.COMPLETE, loaderComplete);
preLoader_mc.perct_mc.visible = false;
}
答案 1 :(得分:0)
在同一事件中,有关于总字节数的信息。
你可以把它作为
filename.bytesTotal
其中filename是根据您的代码的事件变量。
通过
filename.bytesLoaded / filename.bytesTotal
你有完成百分比。这永远不会进入无限循环。
您可以查看有关adobe文档和示例here的详细信息。