【发布时间】:2013-02-15 00:53:28
【问题描述】:
我有一个 c++ 库,它具有向 Lua 公开的功能,并且正在就组织我的 lua 代码的最佳方式征求意见。
该库是一个游戏引擎,具有基于组件的游戏对象系统。我希望能够将其中一些组件编写为 Lua 中的类。我正在使用 LuaBind,所以我可以做到这一点,但我必须做出一些实现选择,并且想知道其他人是如何做到的。
我应该只有一个全局 lua_State,还是每个对象一个,每个场景一个,等等? 这听起来像很多内存开销,但可以让所有内容保持良好和独立。
我应该有一个 GLOBALS 表,还是每个对象一个,可以在调用成员之前就位?这似乎可以最大程度地减少某些类决定使用全局变量,而另一个类意外覆盖它的可能性,与拥有许多 lua_States 相比,内存开销更少。
或者我应该把所有东西都放在一个全局表中?
另一个问题涉及 lua 代码本身。出现两种策略...首先将所有类定义放在一个位置,在应用程序启动时加载它们,其次为每个文件放置一个类定义,并确保在需要实例化文件时加载该文件。
感谢任何人对此的想法,谢谢。
【问题讨论】:
标签: lua