首先说一下为什么FLASH中要用Loading。所谓Loading,主要是指在网上观看Flash时,有时由于文件太大,或是网速限制,需要装载一段时间才能播放,但由于这个Loading所需的时间对于观看者来说是未知的,所以在Flash电影装载过程中如果没有任何提示,多数用户都不会有足够的耐心在面对一片空白的屏幕等上一会,于是我们需要做一个简短的Loading来告诉观看者下载的进度,让观看者知道所要等待的时间,充分体现对观看者的一种尊重。
Loading的制作
下面讲讲Loading的具体的语法:
//影片加载时,将影片总字节数赋给变量total
onClipEvent (load) {
total = _root。getBytesTotal();
}
onClipEvent (enterFrame) {
//进入影片时,将影片已下载的字节数赋给变量loaded
loaded = _root。getBytesLoaded();
//将已下载的除以总字节数,再乘以100,于是得到目前已下载字节的百分比
percent = int(loaded/total*100);
//让text动态文本来显示下载的百分比。
text = percent+"%";
//让影片停在当前下载的位置。
gotoAndStop(percent);
//判断已下载的字节数是否等于总字节数,如果为真,则跳到并播放第2帧。
if (loaded == total) {
_root。gotoAndPlay(2);
}
}
以上就是主要的代码了,有一点要说明,有人可能说看不到数字百分比的显示。请检查舞台上是否添加了动态文本,并定义它的实例名称与AS中的变量text的名称一致。
对于初学者来说,不知道在什么地方写代码。这是很普遍的一个问题,刚入门对于代码还没有完全理解,也会存在这样的问题。那么对于Loading该在何处写代码呢?接着往下看,Loading的代码要写在一个影片剪辑上。如果就一个文本来显示下载进度可能太单调。做个像媒体播放器的进度条来显示下载进度更让人一目了然!关于Loading影片剪辑的制作我就不提了,因各个人喜好不同。
解决Loading 在70%左右才出现的问题
这几天遇到一个让人很是郁闷的问题:在模拟下载时,loading 要在75% 时才出现loading画面。
这个问题的原因是:FLASH中的MC或声音设置成了在第一帧导出。这样第一帧就很大了,下载时当然要多花时间了。
解决办法很简单:在库面板中将MC或声音的链接设置中的"在第一帧导出"去掉就OK了!大功告成!