Haxe类似乎使用文件名,而不是类名

时间:2014-12-07 14:24:07

标签: haxe

我有一个名为1-DarknessScene.hx的文件,其中包含class DarknessScene。当我尝试通过创建完全限定的new com.foo.bar.scenes.DarknessScene()来引用此内容时,我收到class not found错误。

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

我做错了吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找的手册中的部分是:

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

在Haxe中,每个“.hx”文件都称为模块,它可以包含一个或多个类,typedef,枚举,接口等。几点:

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

Scenes.hx

package mygame;

class Scene01Darkness {
    // ...
}

然后像这样导入:

new mygame.Scenes.Scene01Darkness();

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

祝你好运!