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

时间:2018-09-14 14:16:01

标签: javascript scripting 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?

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

TL; DR: 我想使用一种JS风格(也许实际上是JS?)脚本语言将内容放入我的游戏中。我该如何用Haxe编写的游戏中添加该内容?

您可能已经看到,我确实迷失了方向,对自己的真实身份一无所知。如果有任何问题或我需要阐述的部分,请指出。

1 个答案:

答案 0 :(得分:8)

您考虑过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/