小影志 > 怀旧风情 > 技术笔记 > 最基本的 Flash 预加载进度条代码(AS2&AS3)

最基本的 Flash 预加载进度条代码(AS2&AS3)

作者:佚名 来源:小影志 时间:2016-04-06

\

最基本的进度条动画代码,终于学会了=。=直接贴代码~

代码都是写在第一帧,其中load_bar是一个矩形影片剪辑,load_text是一个动态文本。
AS3里载入完是场景跳转,AS2里是直接播放下一帧。

AS2

stop(); //暂了个停

this.onEnterFrame = function() //进入帧时
{
    var loaded:Number = Math.round(getBytesLoaded() / 1024); //已载入的数据量(kb)
    var total:Number = Math.round(getBytesTotal() / 1024); //总数据量(kb)
    var percent:Number = Math.round(loaded / total * 100); //换算成百分比
    load_bar._xscale = percent; //设置进度条宽度
    load_text.text = percent + "% (" + loaded + "kb / " + total + "kb)"; //设置文本内容

    if (loaded >= total) //如果已经载入全部数据
    {
        delete this.onEnterFrame; //删除事件
        play(); //继续播放
    };
};

AS3

stop();

addEventListener(Event.ENTER_FRAME, handleProgress);

function handleProgress(e:Event)
{
    var total:Number = Math.round(stage.loaderInfo.bytesTotal / 1024);
    var loaded:Number = Math.round(stage.loaderInfo.bytesLoaded / 1024);
    var percent:Number = Math.round(loaded / total * 100);
    load_bar.scaleX = percent / 100;
    load_text.text = percent + "% (" + loaded + "kb / " + total + "kb)";

    if (loaded >= total)
    {
        removeEventListener(Event.ENTER_FRAME, handleProgress);
        gotoAndPlay(1, "main");
    }
}