我想使用mxmlc編譯AS文件,但特定的類取決於其他類。我的命令是這樣的:mxmlc -includes classA classB -source-path =。 com.example.com.classC。在一個SWF文件中的多個AS類
這給了我classC.swf,但是當我加載它時,它仍然在尋找classA.swf和classB.swf。無論如何,我可以只有一個SWF文件?
謝謝!
我想使用mxmlc編譯AS文件,但特定的類取決於其他類。我的命令是這樣的:mxmlc -includes classA classB -source-path =。 com.example.com.classC。在一個SWF文件中的多個AS類
這給了我classC.swf,但是當我加載它時,它仍然在尋找classA.swf和classB.swf。無論如何,我可以只有一個SWF文件?
謝謝!
我假設classA和classB是.as
文件。在這種情況下,根本不需要使用-includes
選項 - 只需將它們導入到主類(ClassC
)中,就如通常那樣,並使用mxmlc com.example.ClassC
從包含com
文件夾的文件夾進行編譯。
根據this page,-includes
選項指定生成的應用程序SWF文件的類列表,無論這些類是否在編譯時是必需的。通常,源路徑中的類只有在需要時纔會被編譯 - 也就是說,只有當其他編譯器的類正在使用它時纔會被編譯。這個選項告訴編譯器編譯一個類,即使它沒有在你的任何類中使用 - 可能會使用getDefinitionByName
在運行時創建該類的實例。
它似乎工作,但不幸的是,代碼的工作方式,它仍然期待其他swf文件,而不是手動創建它們。好吧。 – tteh 2010-10-19 18:24:06
通常情況下,您會將共享類放入SWC中;不是SWF。我想我們必須看到你的代碼。你如何構建你的項目? classA.swf和classB.swf是如何創建的? classClook for classA和classB如何? – JeffryHouser 2010-10-18 18:59:29
它通過靜態URL查找classA和classB swfs。它類似於classC是插件管理器的插件架構。從配置文件中,它在特定的URL上查找classA和classB的swfs,並使用Flex的Loader類。 我想以某種方式內部化這些SWF文件。對於代碼,我使用的是: http://github.com/mediafront/osmplayer/tree/master/flash/ AS文件的根目錄可以在「com」目錄中找到。 – tteh 2010-10-18 19:55:05