2014-12-07 16 views
0

我有一个名为1-DarknessScene.hx的文件,其中包含class DarknessScene。当我尝试通过创建完全合格的new com.foo.bar.scenes.DarknessScene()来引用此错误时,我得到一个class not found错误。Haxe类似乎使用文件名,而不是类名

我仔细检查class/instance docs,但未发现此行为的任何引用。

我做错了什么?

回答

1

您正在寻找本手册中有一节是这样的:

http://haxeorg.dev/manual/type-system-modules-and-paths.html

在HAXE,每个“.hx”文件被称为模块,它可以包含一个或多个类,类型定义,枚举,接口等几点:

  • 通常,文件名/模块名称与主类相同。所以DarknessScene.hx,而不是1-DarknessScene.hx
  • 这意味着您的文件名具有适用的类命名规则,因此它们必须以大写字母开头,而不是数字。在你的情况下,如果你想有一个数字来排序文件,你可以命名你的类“Scene01Darkness”或类似的东西。
  • 本手册描述了如何在模块内部拥有不同的类型(类,接口等)并引用它们。一个简单的例子:

Scenes.hx

package mygame; 

class Scene01Darkness { 
    // ... 
} 

,然后导入这样的:

new mygame.Scenes.Scene01Darkness(); 

但是关于类名的规则(我猜的文件名),以大写字母开头性格仍然适用。

祝你好运!

相关问题