2009-11-06 49 views
0

我在AS3創建庫的SWF這種方式,就像一個魅力(除了慢mxmlc編譯):AS3與Swfmill:如何獲取資產swfmill生成庫SWF

package { 
import flash.display.Sprite; 
public class Library extends Sprite { 
    [Embed(source="assets/test.png")] 
     public var TestBitmap:Class; 
} 
} 

我會喜歡使用swfmill創建相同類型的庫文件。我試過以下swmfill簡單的XML:

<movie version="10"> 

審視圖書館FlashDeveloper的資源管理器中顯示,AS3庫出口雙雙類和符號,但swfmill庫出口僅符號。 我的主機應用程序正在訪問AS3庫資源是這樣的:

private var loader:Loader = new Loader(); 

private function onCreationComplete():void { 
    this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
} 

private function onComplete(e:Event):void { 
    var resourceClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition("Library") as Class; 
    var resources:Object=new resourceClass(); 
    var testBitmapClass:Class = resources['TestBitmap'] as Class; 
    var testBitmap:Bitmap = new testPngClass(); 
    this.addChild(testBitmap); 
} 

,但沒有出口swfmill類,有明顯的沒有什麼可instatiate ...

是swfmill預計出口類的這種方式?如果沒有,是否有一種訪問符號的方式,而不需要將它們實例化爲類?

喬納斯

回答

1

總之,沒有。我一直在研究這一點。由於我使用Flash IDE,haXe和flex工作,我將概述通過將內容嵌入到swf中來訪問內容的不同方法。

它看起來不像是有直接實例化符號的方法。如果您的資產是由Flash IDE導出的,通常您會設置屬性以導出Actionscript以獲取符號。在haXe中,你需要指定一個類來匹配swfmill xml中的類。使用flex,您可以定義一個類並使用嵌入元數據標記通過嵌入swf來訪問該元件。 http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html

此腳本可能對您生成導出類有幫助。 http://wiki.disemia.com/HaXe_SWFMILL_Resource_Converter

如果您使用的是AS3,那麼如果您從命令行編譯項目,則可能必須使用mxmlc。由於速度是你的問題,你應該考慮使用fcsh。

+0

謝謝!不知道fcsh,我會試試看。希望速度的不同使得它在我的生產環境中很有用.../Jonas – Cambiata 2009-12-14 12:15:00