天天看點

轉載:Flash AS3.0 加載外部資源(圖檔,MP3,SWF)的兩種方式Flash AS3.0 加載外部資源(圖檔,MP3,SWF)的兩種方式

出自:http://www.cnblogs.com/top5/archive/2012/08/04/2623464.html

關于AS3加載圖檔等外部資源,我常用的有兩種方式:Loader和Embed,各自的特點,總結如下:

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

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

書寫的例子如下:

Embed:

[Embed(source = "../assets/images/closeBtn.png")]

private var closeBtnImage:Class //需要嵌入的圖檔對象

private var btnSprite:Sprite = new Sprite();

private function test():void {

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.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);

//監聽到Loader加載完畢以後執行的函數

private function loadComplete(e:Event):void {

var l:Loader=Loader(e.target.loader);//得到Loader對象

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

trace(l);

trace(bm);

繼續閱讀