从另一个目录导入flash类

从另一个目录导入flash类,flash,actionscript-3,fla,Flash,Actionscript 3,Fla,最初,我的类(.as)和项目(.fla)存储在同一个目录中。但我想重构它们。我已经创建了一个子目录“classes”,并将我的类移到了这个子目录中,但出现了错误 我所有的类都存储在一个包中 如何从项目的子目录“包含”或“导入”我的类?两种解决方案: 将子目录添加到库路径(单击属性面板中ActionScript设置旁边的编辑,然后在第一个选项卡上仅添加目录) 在类文件中,只需将包更改为子目录的名称 问题可能是新文件夹中的.as文件。AS3名称空间映射到您的文件系统。这意味着文件夹foo中名为Bar

最初,我的类(.as)和项目(.fla)存储在同一个目录中。但我想重构它们。我已经创建了一个子目录“classes”,并将我的类移到了这个子目录中,但出现了错误

我所有的类都存储在一个包中

如何从项目的子目录“包含”或“导入”我的类?

两种解决方案:

  • 将子目录添加到库路径(单击属性面板中ActionScript设置旁边的编辑,然后在第一个选项卡上仅添加目录)
  • 在类文件中,只需将包更改为子目录的名称

  • 问题可能是新文件夹中的.as文件。AS3名称空间映射到您的文件系统。这意味着文件夹
    foo
    中名为
    Bar
    的类需要位于
    foo
    命名空间中

    条形图作为

    package {
        import foo.Bar;
    
    package{

    foo/Bar.as

    package {
        import foo.Bar;
    
    package foo{

    widget.as

    package {
        import foo.Bar;
    
    在您的文件系统上看起来是这样的:

    | Bar.as
    - foo
       | Bar.as
    | widget.as
    

    将类的包名视为相对于主类文件夹的文件夹名称。因此,如果您的FLA文件位于文件夹a中,您有一个子文件夹“classes”,并且在“classes”中有一个类,则该类的包将是“classes”。如果在“classes”中有另一个子文件夹“classes2”,其中包含另一个类文件(.as file),则第二个类的包可以是“classes.classes2”。依此类推。因此,这基本上只是对dingo的答案进行了一些扩展,以给出与当前项目相关的示例。