Я пытаюсь реализовать такой же дизайн, как и любой, кто успешно выполнил сценарий игры, не используя lua в качестве файла конфигурации/обратного вызова. Я хотел бы функциональность следующим образом:Что такое шаблон дизайна для того, чтобы файл lua работал как скрипт в игровом движке, а не как файл конфигурации?
в «EventIncountered.lua»
1 moveToPoint(500, 500)
2 --returns here when moving is done.
3
4 dance()
5 --return here when done dancing etc...
В классе игрока моей игры я хотел бы, чтобы эти функции обновления поля, позиция игрока, анимация и т.д. .. регулируется каждым обновляющим фреймом. Затем, когда достигнуто желаемое состояние игрока, файл lua должен продолжаться там, где он был остановлен. Я знаю, что это можно сделать, и схожие вопросы были заданы, но все, что я узнал от них, - это использование lua в качестве файла конфигурации для чтения и вызова функций обратного вызова из определенных событий (я даже знаю один вопрос, человек, задающий вопрос, знал, как это сделать, но задавал более высокий вопрос об этом). Я знаю, что там есть кто-то, кто хотел бы поделиться этим хорошо охраняемым секретом.
Похоже, что вы хотите запускать каждый скрипт в виде сопрограммы и выполнять эти функции внутри, а затем их можно возобновить и вернуться, когда «закончены», но я не знаю, действительно ли это хорошая идея или нет. –
вы вызывали бы определенную функцию в скрипте, например update, которая запускает каждый кадр и выполняет действия lua. Пример, который показывает ypur, обычно оценивается во время загрузки и транскрибируется на код родного языка - это означает, что сам скрипт не выполняет многократно и просто действует как файл конфигурации – LearnCocos2D