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