Lua,C ++,任何比lua_open()更深入的好介绍?

时间:2011-07-08 16:23:47

标签: c++ lua

我现在搜索了很多内容,但我找到的只是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 ++中(就像我的类和成员以及控制台框架一样)。

任何好的教程?任何提示从哪里开始?分享一些经验?

提前致谢

2 个答案:

答案 0 :(得分:6)

如果您还没有,请获取Programming in Lua的副本。描述与C(以及C ++)互操作的部分几乎是100页,而不仅仅是“你好世界”。

本书中没有特定的C ++绑定信息,但如果您的C ++编译器具有任何RTTI功能,那么这可能会有所帮助。这就是我们将lua与C ++ Builder集成的方法

答案 1 :(得分:0)

我不能给你很多提示,因为我只使用lua来编写脚本 但我发现luabind在c ++中比普通的lua更有用。也许那里的教程也可以帮到你。