2010-10-18 62 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

相关问题