Lua教程(六):绑定一个简单的C++类

exit_20209 13 0 pdf 2021-06-25 02:06:56

本文是最后一篇C/C++与Lua交互的教程,在此之后,我们会结合Cocos2D-X来介绍Lua绑定。最后,我们需要把刚刚编写的这些函数注册到Lua虚拟机里面去。现在我们已经可以在Lua里面创建C++类的对象了,但是,我们最好是希望可以用Lua里面的面向对象的方式来访问。我们可以在Registry里面创建这个metatable,然后给它取个名字做为索引,注意,为了避免名字冲突,所以这个名字一定要是独一无二的。首先,我们需要创建一个新的metatable,并把setName/getName/getAge/setAge/print函数设置进去。当Lua对象被gc的时候,会调用一个__gc方法。首先是C++端的实现:然后,添加注册函数:本文主要介绍如何使用UserData来绑定C/C++自定义类型到Lua,同时通过引入MetaTable,让我们可以在Lua里面采用更加简洁的面向对象写法来访问导出来的类。

Lua教程(六):绑定一个简单的C++类

Lua教程(六):绑定一个简单的C++类

Lua教程(六):绑定一个简单的C++类

Lua教程(六):绑定一个简单的C++类

Lua教程(六):绑定一个简单的C++类

Lua教程(六):绑定一个简单的C++类

Lua教程(六):绑定一个简单的C++类

用户评论
请输入评论内容
评分:
暂无评论