JS-подобный язык сценариев для игры, написанной на Haxe? - PullRequest
0 голосов
/ 14 сентября 2018

Я занимаюсь разработкой игры в 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?) Для размещения вещей в моей игре. Как мне это добавить в мою игру, написанную на гексе?

Как вы, наверное, видели, я искренне растерялся и не имею ни малейшего понятия, что я на самом деле хочу делать. Если есть какие-либо вопросы или части, которые я мог бы уточнить, пожалуйста, укажите их.

1 Ответ

0 голосов
/ 14 сентября 2018

Рассматривали ли вы 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/

...