在 haxe.org的主页 - 有一个剪刀石头布的游戏编码在里面的一个 class Game
.
我下载了HaxeDevelop编辑器,并创建了一个新项目。当我进入 src/
在这个项目的文件夹中,有一个文件 Main.hx
含有这个骨架
package;
import js.Lib;
/**
* ...
* @author Terrence Brannon
*/
class Main
{
static function main()
{
}
}
我想知道我是否应该将类从 Main
到 Game
以及Haxe项目的入口点类的命名规则。
类名需要以大写字母开头,后面跟着字母a-z或A-Z(下划线也可以使用)。
当你在终端调用 haxe 命令时,你可以定义你的主类,并在后面加上参数对,如主类的名称,-main Main。
https:/haxe.orgmanualcompiler-usage.html。
你可以把你的类放在一个文件夹里,然后在你的类上面的顶行加上'package folderName;',然后你就可以用haxe来调用它。
haxe -main folderName.Main ...add other compiler property pairs.
所以'Game'是一个有效的名字。 一个重要的细节是,Haxe程序需要一个启动静态函数,这个函数总是被命名为'main',这可以用来创建类。
class Game {
static function main(){ new Game(); } // need a main static function.
public function new(){
// actual game class starts.
trace( 'game started');
}
}
通常情况下,我们不会把所有的编译器参数写在命令行上,而是把它们放在一个以.hxml为扩展名的文件中,即:compile.hxml。
https:/haxe.orgmanualcompiler-usag-hxml.html。
一些跨平台工具包使用json或xml定义来代替,有时还使用工具来创建这些而不是直接运行haxe编译器,这是因为他们做了一些额外的事情,比如为你把所有的资产放在输出文件夹中,并处理一些方面,比如针对c++或js的一般设置,而不必有不同的hxml文件。
例如,一个流行的跨平台图形库,用于浏览器、桌面和移动设备,就是openfl,它在这里描述了它的构建工具。
https:/lime.softwaredocscommand-line-toolscreate-new-project。
不幸的是,所有的跨目标游戏工具包都使用了不同的构建过程,但其他haxe用户总是很乐意解释。
和Haxe用户交流的好地方是在haxe的discord服务器上,我想这个链接可能会有用。
主要跨目标--图形丰富(适合游戏)的Haxe工具箱。
对于做传统的web开发,你可以直接以js为目标,但Haxe也提供了一些框架,如。
显然,你可以使用Electron(或Krom见Kha)来制作nodejs应用。- https:/github.comtonghxelectron。
我不太清楚具体的PHP、Java、C#、Lua、Python库要提什么,但一般的Haxe的库似乎很受欢迎,对所有目标都很有用。
并不是所有的东西,但我想到了一些有用的链接。
关于Haxe的一般教程,有很多地方,但也许一个好的开始是通过烹饪书。
你可以按照自己的意愿命名你的入口点类。
haxe -main Main
. haxe -main Game
. haxe -main Test
. 如果你使用FlashDevelop,你必须将该文件设置为入口点。在项目管理器中右击,选择 "文档类"。这也会给它一个不同的图标(绿色)。
没有标准的命名惯例,因为它可能取决于你的应用程序做什么。我见过Main,Application,Test,但也有更高级的名字。
https:/haxe.orgmanualcompiler-usag-hxml.html
注意,不能在类内为静态入口点函数使用不同的名称。 这始终是
static function main() { }
.