用 Haxe 编写的游戏类 JS 脚本语言?

A JS-Like Scripting Language for a Game Written in Haxe?

我正在 Haxe/Kha 开发游戏。

我只需要一种可以用于游戏的脚本语言。它必须支持变量和循环之类的东西。我正在制作一个 JRPG,其中有很多交互功能(想想战利品箱、NPC 等),所以我想编写脚本而不是硬编码。

希望用类JS的语言实现。我想每张地图有 1 个文件,并采用这种格式。

5, 10 {
    movement(WALK_RANDOM);
    function interact() {
        textBox("Hello World!");
        giveItem(RUBBER_DUCK);
    }
}

其中 5 和 10 是可交互的 x 和 y。

当我 运行 我真正想做的是(在 Haxe 中)

Interactable int = new Interactable(5,10);
int.movement = WALK_RANDOM;
int.interact = function () {textBox("Hello World!"); giveItem(RUBBER_DUCK);} // Can you even do this sort of thing in Haxe?

每张地图将有一个脚本文件,该文件中有许多可交互的子句。

长话短说: 我想使用 JS 风格(也许实际上是 JS?)脚本语言在我的游戏中放置内容。我应该如何将它放入我的游戏中,它是用 Haxe 编写的?

如您所见,我真的很迷茫,不知道自己到底想做什么。如果有任何问题或我可以详细说明的部分,请指出。

你考虑过 HScript 吗?

https://github.com/HaxeFoundation/hscript

这是Haxe 的官方脚本解决方案。您可以使用 Haxe 本身(而是它的一个子集)作为嵌入式脚本语言。函数和变量可以暴露给脚本以供其交互。

可以在此处找到更详细的描述(尽管某些部分有点特定于 Luxe):

http://snowkit.org/2015/06/20/using-hscript-to-program-entity-behaviors-in-luxe-with-auto-reload/