2009年3月27日 星期五

載入外部swf當作Asset Library

如果在開發Flash專案,有部份asset可能需要動態更新
由設計人員進行維護,可以將asset存放在獨立的swf內
透過載入外部swf到主程式內操作使用
這部份可應用在需要做介面更換的程式或遊戲開發

1.載入外部swf檔案
這個要當作Asset Lib的swf擋,stage上可以不要放物件
lib內要被當作asset使用的物件,都要設定其linkage
linkage名稱就會被當作被Class名稱而被其他程式引用
2.載入完成後,透過取物件的applicationDomain屬性來取得
ApplicationDomain物件
3.利用ApplicationDomain物件的getDefinition()來取得所要的class
4.注意:當要實體化取得的class時,實體的類別還是要宣告為MovieClip
才不會出錯

var myLoader:Loader= new Loader();
var myUrlReq:URLRequest= new URLRequest(_path);
myLoader.load(myUrlReq); 
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); 

function onLoaded(event:Event):void{ 
    var appDomain:ApplicationDomain = event.target.applicationDomain;
    var myClass:Class = Class(appDomain.getDefinition(_name));
    var myInstance:MovieClip=new myClass();
    addChild(myInstance)
}


相關連結

沒有留言: