as3 / flex中的导入和包结构

时间:2010-04-15 13:52:57

标签: flex actionscript-3 import package

我遇到了如何在AS3 / Flex项目中组织文件和包的问题。这个问题的简短介绍:

项目中的文件结构是(并且应该保留),如下所示:

libs/Class1/src/<files>
libs/Class2/src/<files>
libs/Class3/src/<files>

amxmlc编译器 source-path 变量指向:

libs/

我需要它,因为我必须在Class3中继承Class1。这促使我将所有类放入看起来像这样奇怪的包中:

package ClassX.src { /* ... */ }

所以在实践中它看起来像是:

package Class3.src
{
    import Class1.src.Class1; // I prefer direct imports

    public class Class3 extends Class1 { /* ... */ }
}

有没有办法保留文件/文件夹结构并摆脱包名称中的 src 。更改文件结构或将指向编译器直接指向基类目录而不是选项。
加入该项目的新程序员真的很困惑,我们真的想避免这种情况。

非常感谢 ANY 帮助!!!

2 个答案:

答案 0 :(得分:1)

所以这里有两件事。第一种是这些“插件”包含在项目中的方式,另一种是import语句。

关于插件:你应该考虑让它们成为SWC。您可以子类化SWC中的类,因此不需要在其中包含代码。只是我的直觉告诉我这可能会造成很多混乱。

关于导入:除非你改变你的包结构,否则我认为没有办法解决这个问题。正如您所注意到的,'*'只会在一个级别导入包,因此您必须导入每个包/类。

答案 1 :(得分:1)

摆脱src包的唯一方法是更改​​文件结构。

至于插件,我会创建一个单独的“Flex库项目”。然后,您可以将插件包直接放入该新项目的根目录中,或者因为您不想更改文件结构,您可以在“源路径”选项卡下的插件Flex库项目的属性中添加文件夹。 Flex库构建路径。

要在其他项目中导入插件,您必须将Flex库项目添加到导入项目的库路径(也是“构建路径”选项下项目属性中的选项卡)