0

我正在尝试将 Nape 物理引擎(用 Haxe 编写)移植到 Haxe(Xojo)不支持的语言。现在我不懂 Haxe,但我对 Python 很满意。我正在尝试将大量 .hx 文件转换为 python 源文件,以便我可以将它们转换为 Xojo。

我有 Nape .hx 源文件(来自 haxelib)并安装了 haxe 命令行工具。

我尝试了多种排列来尝试将 .hx 文件转换为 Python 文件,但没有成功。我尝试了以下方法:

haxe -cp <directory containing some .hx files> -python <output directory>

这只是从 haxe 工具输出帮助。

haxe <directory containing .hx files> -python <output directory>

抛出:

错误:无法处理参数 [目录] 类名必须以大写字符开头

我试过只处理一个 .hx 文件:

haxe <.hx file> -python <output directory>

错误:无法处理参数 [myfile.hx] 空白部分

任何想法我做错了什么?我认为 Haxe 的全部意义在于能够轻松转换为不同的语言?

4

1 回答 1

0

Hugh 是对的,因为您通常需要指定一个-main参数。但是,如果您不需要入口点(例如在您的情况下编译库时),您也可以省略它并编译单个模块:

<dot-path>: 编译 dot-path 指定的模块

它认为您在这里选择哪个模块并不重要。我去了nape.Config。重要的部分是--macro include用来确保nape lib中的每个文件都被编译(否则只包含引用的文件)。

haxe nape.Config -lib nape -python nape.py --macro include('nape') --macro include('zpp_nape')

此命令生成一个nape.py大约 121000 行的文件,这可能有点令人望而却步,具体取决于将 Python 代码转换为这种 Xojo 语言所需的工作量。即使这是一个简单的过程,生成的代码通常也不是最易读的。

事实上,Nape 的 Haxe 版本已经不太可读了,因为它是由一个名为caxe ( .cx) 的预处理器生成的。Nape的caxe来源可以在这里找到。


您可以在此处尝试一些编译器选项,以稍微减少代码大小并使其更具可读性:

  • --no-inline: 防止代码形式被内联,将输出减少到 ~60000 行
  • -D NAPE_RELEASE_BUILD: Nape 定义删除错误处理 - 可能不值得,只删除约 2000 行。
于 2016-02-16T08:29:11.070 回答