2011-03-24 80 views
3

原来我的类(.as)和项目(.fla)存储在同一个目录中。但我想重构它们。我创建了一个子目录“classes”,并将我的类移动到这个子目录中,但是我有错误。flash导入类从另一个目录

我所有的课程都存储在一个包中。

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

+0

认为一个类的包名称为相对于主类文件夹中的文件夹的名称。因此,如果您使用FLA文件位于文件夹A中,则您有一个子文件夹“classes”,并且“classes”中有一个类,那么此类的包将是“classes”。如果在“classes”中有另一个子文件夹“classes2”,并且其中有另一个类文件(.as文件),那么这个第二类的包可以是“classes.classes2”。等等等等。所以这基本上只是在丁戈的答案上扩展一点,以给出与你当前项目相关的例子。 – 2011-03-24 11:04:04

回答

6

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

Bar.as

package {

富/ Bar.as

package foo {

widget.as

package { 
    import foo.Bar; 

这看起来像这样在你的文件系统:

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

两个解决方案:

  1. 你的子目录添加到您的库路径(点击旁边的编辑在属性面板中的ActionScript设置,然后将第一个选项卡只需添加目录)
  2. 在类文件只是将包改为nameofthesubdirectory