c++带LUA,对象设计
C++ with LUA, object design
这是一个理论问题。假设我想用c++制作游戏,并在其中使用Lua进行游戏逻辑和AI等。我是否需要在c++或Lua中创建一个完整的对象设计/层次结构?还是两个?它是如何工作的?谢谢你的帮助!
你在c++中制作引擎和性能重的库以获得最大的性能,并为Lua中的所有内容提供API。
如果你有非常特定于游戏的东西,你可能会想要用Lua编码它们,这样你就可以重用你的游戏引擎。
你是想用Lua还是c++编写AI完全取决于其他因素,我无法客观地回答你。一个选择是在c++中为AI制作实用程序,并在Lua中为它们提供API。
让我重述一下:
- 在你用c++编写代码之前,问问你自己:"这个库对大多数游戏来说是通用的吗?"
- 如果问题的答案是"否",那么你可能想用Lua编码。
- 如果答案是"是",那么你就用c++编写代码,然后用Lua编写API。
这是因为拥有游戏引擎的意义在于让游戏开发变得更容易、更快速。您希望它具有各种通用的库和实用程序。它必须是可重用的。将游戏逻辑和通用库分离还可以让你更轻松地更改整个游戏,而不会搞乱所有核心内容。
你的问题不完全客观,所以我给出一个支持性能和可能更好的工作流程的答案。
(我恰好在做同样的事情)
相关文章:
- 使用 LuaBridge 或 Lua 将对象传递给 Lua 函数C++
- 使用 Lua 中的C++库对象
- Lua C API - 从C++分配和使用类的对象成员
- 在脚本运行后引用 lua 表/对象
- 如何通过LightUserData对象将表参数从LUA传递到C
- 使用Lua定义C++游戏中对象的变量
- 如何在LUA中创建一个C++兼容的函数对象
- 如何推动在LUA脚本上使用的现有/创建/实例化类对象
- 而不是在 lua 中创建一个对象,如何让 lua 直接高C++对象来启动方法?
- 我应该如何编写用C++代码编写的Lua API/对象模型的文档
- 无法将Boost.Any对象传递到C++Lua绑定
- 对象与静态成员的lua/C++绑定
- luabind获取c++对象的类元表,将obj作为参数推送到lua函数
- 将Lua类对象存储到C指针,并将其推送回Lua Stack
- 在 Lua 5.2 中返回 C++ 对象的实例
- 在 c++ 中使用 lua 对象
- Lua 对象内省
- Lua 5.2 - C++对象中的对象(使用 lua_lightuserdata)
- 无法修改传递给 lua 的对象
- 如何从Lua中提取C++对象指针