作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试编写一个游戏并执行脚本,以便在以后的开发中当我想更改数字时不必重新编译所有内容。
我的问题是我不知道脚本应该如何与游戏交互。我使用的脚本语言是 angelscript .
现在,我有一个状态:介绍状态,我将其用作游戏“引擎”中大多数模块的测试(它更像是一个松散的类集合)。它会加载并绘制图片和文本,并使用脚本更新自身,之后可能会切换到虚拟状态以测试状态管理器。
在编写它时,我意识到使用脚本进行大部分更新需要我 register most of my game engine's modules使用脚本,并且几乎将大部分代码移动到脚本语言。就个人而言,我宁愿让 C++ 部分完成大部分工作,并让脚本语言提供要在公式/绘图/其他内容中使用的数字。
但是,如果我是对的,那么这样做将需要许多不同的更新模块,用于游戏中需要更新的大部分内容,并要求将它们全部加载,并且 C++代码必须单独运行每个更新函数。
或者,我忽略了一种实现脚本和程序互操作性的方法。无论哪种方式,有人可以帮我弄清楚在我的游戏中实现脚本的最佳方式是什么吗?
最佳答案
这么大的问题真的没有正确答案。你这样做的方式与在 C++ 中进行引擎/游戏逻辑分离的方式相同。定义脚本可以调用的 API,以允许它执行您希望它执行的任何操作。使用脚本在该 API 中注册函数,并在 angelscript 中使用该 API。该 API 应该是什么完全取决于您的需求以及您希望赋予脚本编写者什么样的权力。
关于c++ - 如何在我的游戏中执行脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1857673/
我是一名优秀的程序员,十分优秀!