製作loadin最少需要兩幀,這是需要注意的地方,瞭解loading原理的朋友應該知道.
第一幀爲loading動畫
第二幀後爲你的內容
下面的代碼假設flash有兩幀:
一開始的時候自動停止第一幀,然後進行loading操作,
需要顯示進度可以在loadProgress裏寫你需要的操作,
加載完後自己跳到第二幀,並停止,
注意的是在main函數裏,使用了addFrameScript給動畫的第二幀添加了stop()代碼,
這裏不是必須的,addFrameScript是一個隱藏函數,這裏只是測試一下(ps一下,addFrameScript中,前面是幀數,後面是要加載的函數,幀數是從0開始的).
package{
import flash.display.*;
import flash.events.*;
public class main extends MovieClip{
public function main():void{
stop()
//也可以使用addFrameScript給指定的幀添加代碼
//addFrameScript(1,frameScript)
//調用加載腳本
loadScript()
}
private function loadScript():void{
//as3中,所以的顯示對象都可以使用loaderInfo來偵聽加載狀態
//我們添加一個""Progress""和一個""complete""
root.loaderInfo.addEventListener(ProgressEvent.PROGRESS,loadProgress,false,0,true)
root.loaderInfo.addEventListener(Event.COMPLETE,init,false,0,true)
}
private function loadProgress(e:ProgressEvent):void{
//加載過程中會調用此函數
//e.bytesLoaded/e.bytesTotal分別是已經加載字節跟總字節
//需要顯示進度可以在這裏操作
trace(e.bytesLoaded,e.bytesTotal)
}
private function init(e:Event):void{
//加載完成,我們跳到第二幀進行播放
gotoAndStop(2)
//操作代碼....
}
private function frameScript():void{
trace(""第二幀停止"")
stop()
//操作
}
}
}
From:http://blog.l4cd.net/post-old-34.html