2010-10-18 63 views
0

我想使用mxmlc編譯AS文件,但特定的類取決於其他類。我的命令是這樣的:mxmlc -includes classA classB -source-path =。 com.example.com.classC。在一個SWF文件中的多個AS類

這給了我classC.swf,但是當我加載它時,它仍然在尋找classA.swf和classB.swf。無論如何,我可以只有一個SWF文件?

謝謝!

+0

通常情況下,您會將共享類放入SWC中;不是SWF。我想我們必須看到你的代碼。你如何構建你的項目? classA.swf和classB.swf是如何創建的? classClook for classA和classB如何? – JeffryHouser 2010-10-18 18:59:29

+0

它通過靜態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

回答

0

我假設classA和classB是.as文件。在這種情況下,根本不需要使用-includes選項 - 只需將它們導入到主類(ClassC)中,就如通常那樣,並使用mxmlc com.example.ClassC從包含com文件夾的文件夾進行編譯。

根據this page,-includes選項指定生成的應用程序SWF文件的類列表,無論這些類是否在編譯時是必需的。通常,源路徑中的類只有在需要時纔會被編譯 - 也就是說,只有當其他編譯器的類正在使用它時纔會被編譯。這個選項告訴編譯器編譯一個類,即使它沒有在你的任何類中使用 - 可能會使用getDefinitionByName在運行時創建該類的實例。

+0

它似乎工作,但不幸的是,代碼的工作方式,它仍然期待其他swf文件,而不是手動創建它們。好吧。 – tteh 2010-10-19 18:24:06

相關問題