2014-12-07 36 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(); 

但是關於類名的規則(我猜的文件名),以大寫字母開頭性格仍然適用。

祝你好運!