2011-10-20 78 views
0

外部SWF我嵌入在Flash Builder外部SWF像這樣:在Flash Builder

[Embed(source="assets/sounds/mytestswf.swf")] 
private static var mySwf: Class; 

我怎樣才能訪問它,並把它添加到另一個精靈在舞臺上?

回答

2

我不認爲你需要一個裝載機,這是針對在運行時添加的庫。 Embed將資產直接編譯到swf中,所以addChild(new mySwf());就足以將其添加到顯示對象列表中。

很明顯,你想將其分配給一個變量,所以

var $mySwf:mySwf = new mySwf(); 
addChild($mySwf); 

在一個側面說明,您應該始終如一地命名類。類名稱以大寫的第一個字母開頭,因此除變量外您可以將其分開

[Embed(source="/assets/sounds/mytestswf.swf")] 
private static var MySwf: Class; 
... 
var $mySwf:MySwf = new MySwf(); 
addChild($mySwf); 
+1

在新FB 4.7我認爲你需要在開頭添加一個斜槓(「/assets/yourswif.swf」)來防止錯誤。還要確保你不使用像../這樣的相對路徑。 – mika

-1

首先,您需要在您的Embed上指定mimeType="application/octet-stream"。然後,你需要創建一個Loader實例並使用Loader.loadBytes()方法加載與嵌入式類相關的ByteArray

var bytes:ByteArray = new mySwf(); 
var loader:Loader = new Loader(); 
loader.loadBytes(bytes); 
addChild(loader); 

參考學習:Loader.loadBytes() method

+0

這不起作用。無法轉換爲bytearray – beans

+0

請參閱上面有關將'mimeType'聲明添加到'Embed'調用的注意事項。 –

+0

仍然沒有... – beans