使用 tolua++ 暴露 Ogre 函数

ways to properly expose Ogre library functions in tolua++? I need to be able to use them in my lua script to control the camera in my application. Thank you for any help or suggestions.

我想知道如何暴露 Ogre 库函数,例如:俯仰,偏航来旋转相机。我想使用 lua 脚本控制相机。我正在使用 tolua++ 进行绑定。我为 OgreCamera.h 创建了一个干净的头文件,但显然函数没有被暴露出来,因为当我在我的 C++ 代码中使用 lua_call 时,程序以退出码 1 结束。在我的 lua 脚本中,我编写了语句 pMyCam:yaw(angle),其中 pMyCam 是 Ogre::Camera* 类型并且被传递到 lua 中。出问题的语句是对 yaw 的调用。

是否有其他正确暴露 Ogre 库函数的方法在 tolua++ 中?我需要能够在 lua 脚本中使用它们来控制我的应用程序中的相机。感谢任何帮助或建议。

原文链接 https://stackoverflow.com/questions/7698702

点赞
stackoverflow用户513763
stackoverflow用户513763

现如今,有一些库允许直接访问 C 库函数,例如:

2011-10-08 21:22:45
stackoverflow用户987853
stackoverflow用户987853

你所需要的是 luabind,至少这正是我目前在使用它与 Ogre 结合的情况。语法上非常简洁明了,你几乎可以暴露任何东西,包括重载方法、只读属性、枚举等等,并且对我来说它的使用非常完美。

我正在使用一个包含 Ogre、CEGUI(如果你也在使用)和其他一些东西的封装引擎,并且到目前为止,我已经成功将几乎我需要的所有东西暴露给了 Lua,包括相机、场景和对象管理等。

是的,luabind 就是为 C++ 设计的。

2011-10-13 16:51:51