如何在游戏中实现脚本?

son*_*hoc 4 c++ scripting logic game-engine

我正在尝试编写游戏并实现脚本编写,以便稍后在开发中,当我想要更改数字时,我不必重新编译所有内容.

我的问题是我不知道脚本应该如何与游戏接口.我正在使用的脚本语言是angelscript.

现在,我有一个状态:介绍状态,我用它来测试游戏"引擎"中的大多数模块(它更像是一个松散的类集合).它将加载并绘制图片并绘制文本,并使用脚本来更新自身,然后可能切换到虚拟状态以测试状态管理器.

在编写它时,我意识到使用脚本来完成大部分更新需要我使用脚本注册我的大多数游戏引擎模块,并且几乎将大部分代码移动到脚本语言.就个人而言,我宁愿让C++部分完成大部分工作,并且让脚本语言提出要在公式/绘图/中使用的数字.

但是,如果我是对的,那么这样做将需要许多不同的更新模块,用于游戏中需要更新的大部分内容,并要求它们都被加载,并且C++代码将具有单独运行每个更新功能.

或者,有一种方法可以实现我忽略的脚本和程序互操作性.无论哪种方式,有人可以帮助我弄清楚在我的游戏中实现脚本的最佳方法是什么?

jfc*_*tte 6

真的,对这么大的问题没有正确答案.你这样做就像在C++中进行引擎/游戏逻辑分离一样.定义脚本可以调用的API,允许它根据您的要求进行操作.使用脚本在该API中注册函数,并在angelscript中使用API​​.该API应该完全取决于您的需求以及您希望为脚本编写者提供哪种功能.