我正在尝试将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的重点是能够轻松转换为不同的语言吗?
答案 0 :(得分:0)
休是正确的,因为你通常需要指定一个-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')
此命令生成一个大约121000行的nape.py
文件,这可能有点过分,这取决于将Python代码转换为此Xojo语言需要多少工作。即使这是一个简单的过程,生成的代码通常也不是最易读的。
事实上,Nape的Haxe版本已经不具备可读性,因为它是由名为caxe(.cx
)的预处理器生成的。可以找到Nape的caxe来源here。
您可以尝试使用一些编译器选项来减少代码大小并使其更具可读性:
--no-inline
:阻止代码形式内联,将输出减少到~60000行-D NAPE_RELEASE_BUILD
:Nape定义删除错误处理 - 可能不值得,只删除〜2000多行。