预载可分为自身预载和预载外部文件两种:
LoaderInfo类可提供有关已加载的swf文件或图像文件的信息。LoaderInfo对象可用
于任何显示对象,提供的信息包括加载进度、加载程序的URL和加载内容、媒体的字节
总数以及媒体的标示的高度和宽度。
有两种途径可以使用LoaderInfo类:一是通过DisplayObject类的loaderInfo属性来
引用LoaderInfo对象;二是通过Loader类的contentLoaderInfo属性来引用
LoaderInfo对象。
LoaderInfo类相关的属性和事件:
bytesTotal 需加载的字节总数
bytesLoaded 已加载的字节数
progress 加载过程事件
complete 加载完成事件
init 加载完成并初始化完成事件
其中,bytesTotal属性和bytesLoader属性可用来计算加载的百分比,这两个属性
必须同时获取,所以一般放在enterFrame事件和progress事件中。complete事件
只是表示加载完成,而init事件表示加载的对象已经初始化。
例如,在加载图片时,可用bytesTotal属性和bytesLoaded属性来计算加载的百分
比,用complete事件来判断加载是否完成,但如果要得到图片的尺寸则需要使用
init事件。
最简单的预载:
在制作自身加载时,一般都会采用多帧的方式来制作。
个图层说明如下:
as图层:用于放置加载的代码。
loading图层:放置显示加载条。
content图层:第一帧为空,第二帧放置需要加载的对象。
用于加载的代码如下:
//先让应用程序停在第一帧上,运行加载效果
stop();
//注册加载过程事件侦听器
this.loaderInfo .addEventListener (progressEvent.PROGRESS,loadProgress);
//注册加载完成事件侦听器
this.loaderInfo .addEventListener(Event.COMPLETE,loadComplete);
//定义加载过程事件侦听器
function loadprogress(e:ProgressEvent):void
{
var precent:Number=e.bytesLoaded*100/e.bytesTotal;
loading.text="Loading..."+precent.toFixed()+"%";
}
//定义加载完成事件侦听器
function loadComplete(e:Event):void
{
nextFrame();
}
测试上面代码,进入测试模式,选择【视图】|【模拟下载】命令,在播放窗口中,就
可看到加载效果。