使用 tolua++ 公开 Ogre 函数
我想知道如何公开 Ogre 库函数,例如:俯仰、偏航来旋转相机。我想使用 lua 脚本控制我的应用程序的相机。我正在使用 tolua++ 进行绑定。我为 OgreCamera.h 创建了一个干净的标头,但显然该函数没有暴露,因为当我在 C++ 代码中使用 lua_call 时,程序以退出代码 1 终止。 在我的 lua 脚本中,我编写了语句 pMyCam:yaw(angle),其中 pMyCam 的类型为 Ogre::Camera* 并传递给 lua。有问题的语句是调用偏航。
还有其他的吗
I want to know how do I expose Ogre library functions, for example: pitch, yaw to rotate a camera..I want to control the camera for my application using a lua script. I m doing the binding using tolua++. I created a cleaned header for OgreCamera.h but apparently the function is not getting exposed because when i use lua_call in my C++ code, the program terminates with an exit code 1.
In my lua script I write the statement pMyCam:yaw(angle) where pMyCam is of type Ogre::Camera* and is passed to lua. The problematic statement is the call to yaw.
Are there any other
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你寻求的是luabind,至少这就是我在Ogre中使用的基本上刚刚好现在。从语法上来说,它非常简单,你可以公开几乎所有内容,包括重载方法、只读属性、枚举等等,它对我来说非常适合。
我在一个包装引擎中使用它,其中包括 Ogre、CEGUI(如果你也使用它)和其他一些东西,到目前为止,我成功地向 Lua 公开了几乎所有我需要的东西,包括相机、场景。和对象管理。
是的,它被设计为与 C++ 一起使用。
What you seek is luabind, at least that's what I'm using with Ogre basically just right now. It's pretty easy syntax-wise, you can expose nearly everything including overloaded methods, readonly attributes, enums and whatnot and it works perfectly fine for me.
I'm using it in a wrapper engine that includes Ogre, CEGUI (if you're using that as well) and some other stuff as well and so far I managed to expose nearly everything I need to Lua, inlcuding camera-, scene- and object management.
And yes, it's designed to work with c++.
现在有一些库允许直接访问 C 库中的函数。
像这样:
Nowadays there are some of libraries that allow direct access of functions in C libraries.
Like these: