我现在搜索了很多内容,但我找到的只是Lua with C ++的“Hello World”示例。
情况:游戏,大型游戏。有一个游戏控制台,目前用C ++(面向对象和所有)硬编码,有很多if-else-if-else ...块来检查用户在控制台中输入的命令。每个命令都可以更改游戏其他类的成员(如命令“speed 5”通过调用double speed
来更改class Car
中的变量Car::setSpeed(5)
)并同时将输出返回到控制台关于结果。还有一些命令可以在“幕后”执行,而不仅仅是更改变量,这也应该由Lua完成,只有最终结果传回C ++代码(控制台输出+在正确的类中更改变量)。
在哪里/如何/我应该开始将此控制台命令功能后面的代码转换为Lua?像这样:用户在控制台中输入“speed 5”,然后Lua调用Car::setSpeed(5)
然后Lua报告回C ++控制台。
而不是硬编码命令背后的代码,而不应该用Lua编写,但游戏的其余部分应该保留在C ++中(就像我的类和成员以及控制台框架一样)。
任何好的教程?任何提示从哪里开始?分享一些经验?
提前致谢
答案 0 :(得分:6)
如果您还没有,请获取Programming in Lua的副本。描述与C(以及C ++)互操作的部分几乎是100页,而不仅仅是“你好世界”。
本书中没有特定的C ++绑定信息,但如果您的C ++编译器具有任何RTTI功能,那么这可能会有所帮助。这就是我们将lua与C ++ Builder集成的方法
答案 1 :(得分:0)
我不能给你很多提示,因为我只使用lua来编写脚本 但我发现luabind在c ++中比普通的lua更有用。也许那里的教程也可以帮到你。