在在haxe.org主网页-有一个岩石剪刀纸游戏里面的编码class Game。
我已经下载了 HaxeDevelop 编辑器并创建了一个新项目。当我进入src/这个项目的文件夹时,有一个Main.hx包含这个骨架的文件
package;
import js.Lib;
/**
* ...
* @author Terrence Brannon
*/
class Main
{
static function main()
{
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道我是否应该将类从 更改Main为Game以及记录为 Haxe 项目命名入口点类的规则。
类名需要以大写字母开头,后跟字母 az 或 AZ (也可以使用下划线)。
当你从终端调用 haxe 命令时,你定义了你的主类,然后是参数对,比如主类的名称,-main Main
https://haxe.org/manual/compiler-usage.html
您可以将您的课程放在一个文件夹中并添加“包文件夹名称;” 在您班级上方的第一行,然后您可以使用 haxe 调用它。
haxe -main folderName.Main ...add other compiler property pairs.
Run Code Online (Sandbox Code Playgroud)
所以“游戏”是一个有效的名称。一个重要的细节是 Haxe 程序需要一个起始静态函数,它始终命名为“main”,可用于创建类。
class Game {
static function main(){ new Game(); } // need a main static function.
public function new(){
// actual game class starts.
trace( 'game started');
}
}
Run Code Online (Sandbox Code Playgroud)
通常,我们不会在命令行上写入所有编译器参数,而是将它们放在一个扩展名为 .hxml 的文件中,即:compile.hxml
https://haxe.org/manual/compiler-usage-hxml.html
一些跨平台工具包使用 json 或 xml 定义,有时使用工具来创建这些定义而不是直接运行 haxe 编译器,这是因为它们会做一些额外的事情,例如将所有资产放在输出文件夹中,并处理诸如目标的一般设置等方面c++ 或 js 而不必有不同的 hxml 文件。
例如,一个流行的浏览器、桌面和移动跨平台图形库是 openfl,它在这里描述了它的构建工具:
https://lime.software/docs/command-line-tools/create-new-project/
不幸的是,所有跨目标游戏工具包都使用不同的构建过程,但其他 haxe 用户总是乐于解释。
与 Haxe 用户交谈的好地方是在 haxe discord 服务器上,我认为此链接可能应该有效:
Haxe 的主要交叉目标 - 图形丰富(适用于游戏)工具包:
对于传统的 Web 开发,您可以直接针对 js,但 Haxe 也提供了一些框架,例如:
很明显,您可以将 Electron(或 Krom 参见 Kha)用于 nodejs 应用程序。- https://github.com/tong/hxelectron
我不太确定要提及哪些特定的 PHP、Java、C#、Lua、Python 库,但一般的 Haxe 库似乎很流行并且对所有目标都非常有用:
不是所有东西,而是想到的有用链接的品尝者。
关于 Haxe 的一般教程有很多地方,但也许一个好的起点是阅读说明书。