2021-09-11 来源:网络
一个FLASH动画,如果非常大,估计下载会一段时间,这样就可能在播放时一边播放一边下载,为了解决这种问题,通问会做一个加载片头,一旦加载完才开始播放,这就是我们通常所说的loading,今天就来讲讲关于制作loading的基本原理,让你真正明白制作loading的前前后后。
先来看看loading的原理。在flash中,制作loading的目的是为了预先加载一部分内容(你可以选择全部加载完毕,或者加载一部分之后),然后再把flash的主要内容展示出来。一般来讲,loading是放在flash动画时间线的第一帧上面,当然也是可以不放在第一帧,比如放在任意一帧,但是你第一帧就得做一个跳转,总之就是一开始就播放这loading这处小动画,在做flash的loading时要稍注意以下的问题:
第一,把要导出的元件取消导出,把它们集中放在某一帧(除开你做loading的那一帧),然后在放元件的这一帧之后的那一帧开始运行你的程序。
第二,用另个一个swf来加载需要做loading的swf。这种方法可以有比较完整的加载进度条以及百分比文字,缺点是容易引起其他问题,这个后面会讨论。
举个例子来说,我想为A2.SWF做一个loading,关键代码如下:
...... this.loaderInfo.addEventListener(ProgressEvent.PROGRESS ,loadProgress); this.loaderInfo.addEventListener(Event.COMPLETE ,loadComplete); ......AS3.0中增加了一个新的loaderInfo类来提供已加载的swf、图像文件的信息。flashplayer通过调度ProgressEvent对象的loadProgress方法来实现对加载内容反馈,当加载完成后,flashplayer再调度Event对象的loadComple方法。loadProgress方法是定义加载进度的方法,所有有关加载的信息都可以在这个方法中加以反馈:
...... private function LoadProgress(e:ProgressEvent) { var loaded:uint=e.bytesLoaded; var total:uint=e.bytesTotal; var percent:Number=int((loaded/total)*100); trace(percent+"%"); } ......上面的代码输出正在载入内容的百分比,你完全可以在这段代码中加入你自己的元素来丰富你的loading的内容,从而使得用户在等待过程中能够清楚的知道下载的进度,这样我们就有必要制作一个精美的小动画了。当加载完成后,就可以执行loadComplete这个方法。在loadComplete方法里添加你想要的动作,常常大家会放一个播放的按钮,让用户通过按这个按钮进入真正的动画。
好了,今天主要是给大家介绍loading制作的基本原理,至于详细的loading你可以在网上找到很多,这里就不给大家讲了。
相关文章