Flash Preloader as3

时间:2012-08-20 04:54:01

标签: actionscript-3 flash actionscript preloader

是否可以在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);
   }
}

2 个答案:

答案 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的详细信息。