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

标签 javascript scripting haxe

我正在使用 Haxe/Kha 开发游戏。

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

希望用类JS的语言来实现。我希望每张 map 有 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?

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

长话短说: 我想使用 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/

关于javascript - 用 Haxe 编写的游戏类 JS 脚本语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52333836/

相关文章:

windows - 如何运行 PowerShell 脚本

haxe - 确保Haxe程序可以在所有平台上运行

javascript - 为什么我应该使用 uber 的 fusion.js 而不是 create-react-app?

bash - 如何提高一个人的 bash/命令行技能?

javascript - 更改 URL 并保留下拉 onChange 事件中的值

lua - 使用 Lua 脚本避免宏病毒行为?

optimization - 我可以预编译一个 haxelib 库,以便每次构建项目时它都不会重新编译吗?

arrays - 如何将一组 Expr(表达式)传递给 Haxe 宏?

javascript - 如何在Angular的mat-checkbox更改中向/从数组推送和弹出项目?

javascript - NodeJS 中未从 MySQL 查询获取返回对象