當前位置:軟件學堂 > 資訊首頁 > 網絡編程 > Flash > 如何制作flash的加載動畫

如何制作flash的加載動畫

2021/9/11 15:24:36作者:佚名來源:網絡

移動端
Adobe Flash CS4綠色版V10.0簡體中文版

大?。?09MB語言:

類型:動畫制作等級:

一個FLASH動畫,如果非常大,估計下載會一段時間,這樣就可能在播放時一邊播放一邊下載,為了解決這種問題,通問會做一個加載片頭,一旦加載完才開始播放,這就是我們通常所說的loading,今天就來講講關于制作loading的基本原理,讓你真正明白制作loading的前前后后。
先來看看loading的原理。在flash中,制作loading的目的是為了預先加載一部分內容(你可以選擇全部加載完畢,或者加載一部分之后),然后再把flash的主要內容展示出來。一般來講,loading是放在flash動畫時間線的第一幀上面,當然也是可以不放在第一幀,比如放在任意一幀,但是你第一幀就得做一個跳轉,總之就是一開始就播放這loading這處小動畫,在做flash的loading時要稍注意以下的問題:
第一,把要導出的元件取消導出,把它們集中放在某一幀(除開你做loading的那一幀),然后在放元件的這一幀之后的那一幀開始運行你的程序。
如何制作flash的加載動畫

第二,用另個一個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方法里添加你想要的動作,常常大家會放一個播放的按鈕,讓用戶通過按這個按鈕進入真正的動畫。
這里我們要注意,直接在swf上添加loading可能會導致loading不是從1%開始,我們可以用一個swf加載另一個swf的方法來實現完整的loading,比如,我想在A1.swf里加載A2.swf,那么在A1.swf的動畫程序中使用loader加載A2.swf。值得注意的是,監聽loader的加載進度需要使用loader的contentLoaderInfo屬性,而不是loaderInfo。
由于A1.SWF只起到加載A2.SWF的作用,并沒有其他顯示內容,所以它本身的加載可以忽略不計,這種方法可以比較完整的展示A2.SWF的加載過程。但是,同時使用這種方法也引發了一些問題,比如你在A2.SWF里與web端進行通信,使用了loaderInfo的parameters屬性,則你在用A1.SWF加載A2.SWF后,通信將失效。這是因為FlashVars HTML 參數只影響主swf(例子里為A1.SWF),就是說你可以在A1.SWF里完成通信,但是A2.SWF不行。所以,我們可以先在A1.SWF中獲取到頁面要傳遞的信息,然后再讓A2.SWF從A1.SWF中獲取這個信息就可以了。通常我是這樣處理的,假如A1.SWF的文檔類為Main.as,那么在Main.as中定義一個static的屬性比如prama(public static var prama),用來保存傳遞的信息,然后再在A2.SWF中通過Main.prama獲取這個信息。這樣就間接實現了A2.SWF與web端的通信。

好了,今天主要是給大家介紹loading制作的基本原理,至于詳細的loading你可以在網上找到很多,這里就不給大家講了。

 

標簽: 加載  動畫    

欧美一级一极性活片免费观看,欧美一级艳片欧美精品,欧美一级性爱大片,欧美一级囗交视频 视频,欧美一级特黄录像视频