3

经过一些研究,我发现 Cocos2d-x lua 绑定在 C++ 之上,这对我来说很有意义,因为 Cocos2d-x 是 Cocos2d 的 c++ 版本。但是当我看到这个Wiki时,似乎他们有一些关于将 c++ 和 java 绑定到 lua 的信息,但是当我点击链接时,它说是确定的。而这让我有点困惑,为什么Cocos2d-x lua还需要绑定C++呢?

我在这里查看了 Luabind ,它说“它(Luabind)能够将用 C++ 编写的函数和类暴露给 Lua。它还将提供在 lua 中定义类并让它们从其他 lua 类或C++ 类。” 而且我仍然没有放弃它,什么是有约束力的,它实际上有什么作用?

如果您知道任何好的资源或好的教程来教如何将 C++ 和 java 绑定到 Cocos2d-x lua,我将非常感谢您在这里分享。

提前感谢您的时间和答案

4

1 回答 1

3

Cocos2d-X 使用 tolua(++) 作为其绑定机制,而不是 Luabind。不过原理还是一样的。这两个框架都为用户提供了指定 Lua 中可用的类/方法以及 Lua 应如何处理这些对象的方法。

这称为“绑定”,通常涉及为方法和类生成包装器代码,如果您要手动执行此操作,则维护起来很麻烦且容易出错。Lua 绑定框架以一些速度和效率换取易用性和正确性。

如果你想学习 tolua,我建议你从tolua 文档开始,以及查看 cocos2d-x 的 Lua 绑定示例。

于 2013-04-24T23:39:26.697 回答