1. 程式人生 > >Flash AS3.0載入外部資源(圖片、MP3、SWF)的兩種方式

Flash AS3.0載入外部資源(圖片、MP3、SWF)的兩種方式

關於AS3載入圖片等外部自言,大部分人常用的有兩種方式:Loader 和Embed ,各自的特點,總結如下:

Embed :在Flash編譯階段就將資源嵌入,也就是說圖片資源是會被編譯進swf檔案裡面去的;這樣子的好處是程式碼比較簡潔,使用方便,也不存在載入順序的問題,缺點是會增大swf檔案的體積

Loader:在Flash執行階段動態載入資源,這種方式不會影響swf檔案的體積,而且可以很靈活地更改你要載入的資源,但是有可能會遇到路徑更改或者跨域問題,同時,過多地使用Loader去動態載入無疑會加重伺服器負擔,因此需要和Embed權衡使用

書寫例子:

Embed:

[Emberd(source = "../asset/images/closeBtn.png")]

private var closeBtnImage:Class;//需要嵌入的圖片物件

private var btnSprite:Sprite = new Sprite();

private function test(){

var bmp:Bitmap = new closeBtnImage();

btnSprite.addChild(bmp);

}

Loader:

private function addItem():void{

var loader:Loader = new Loader();

loader.load(new URLRequest("http://zhufei.de/something.png"));

loader.contentInfo.addEventListener(Event.COMPLETE,loadComplete);

}

//監聽到Loader載入完畢以後執行的函式

private function loadComplete(e:Event){

var l:Loader = Loader(e.target.loader); //得到Loader物件

var bm:Bitmap = Bitmap(l.content);//Loader裡面的內容

}