【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类

【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之三】动手绑定自己定义类至Lua 之后。我们已经完毕了自己定义类至Lua的绑定。在接下来的环节,我们将使用它。

首先,我们须要确定,通过Python脚本我们生成了哪些绑定文件?我们罗列一个表单。



// Path : F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto

1. lua_pet_auto.hpp

// Path :F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto

2. lua_pet_auto.cpp

//Path :F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto\api

3. lua_pet_auto_api.lua

// Path :F:\Cocos2dx-Lua\Garfield\frameworks\cocos2d-x\cocos\scripting\lua-bindings\auto\api

4. Pet.lua



检查这些文件是否在你的项目其中相对的路径。

F:\Cocos2dx-Lua\Garfield 这是我的演示样例项目所在路径)。

一切无误的话,我们使用VS2013将"Garfield.sln"project文件打开。我们将在"libluacocos2d\auto"中引入"lua_pet_auto.hpp"、"lua_pet_auto.cpp"

这两个文件声明及定义"register_all_custom_pet()"全局函数。用于完毕对C++绑定类的注冊。完毕类中成员属性及成员函数向Lua的"注入",实现C++类结构至Lua的"解析"。

"register_all_custom_pet()"函数我们一会将用到

【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类



【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类


检查第三章节中我们创建的"Pet"类文件是否已经正确引入到VS2013project中。



【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类

完毕这些文件的引入之后,我们将在引擎入口协议类"AppDelegate"调用"register_all_custom_pet()"函数来完毕绑定类在该项目的注冊。

1. 引入" #include "lua_pet_auto.hpp" 头文件;(" register_all_custom_pet()" 定义于该文件里)

2. 调用"register_all_custom_pet()" 。



【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类


接下来,我们能够在Quick-cocos2d-x项目中使用该"Pet"了。我将在Cocos Code IDE中编写我的脚本程序,该脚本代码中使用了由C++定义的类Pet。例如以下:

【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类



回到VS2013project,执行项目。

假设你碰到诸如打开vsproject导入lua_pet_auto.cpp 和lua_pet_auto.hpp ,lua_pet_auto.cpp中报错说找不到pet.h 文件 编译报错说..\auto\lua_pet_auto.cpp(2): fatal error C1083: 无法打开包括文件:“Pet.h”: No such file or directory这种错误,请參照以下的截图,在VS中填加Class的包括路径。

【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类



【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类



写在最后,为了希望能够尽量帮助看到该篇博文的读者,笔者尽力将每一个环节都进行了具体的截图和说明,难免会略有赘述。同一时候小心翼翼的验证每一个环节。但难免有纰漏之处。假设你在阅读的过程中发现问题。可邮件505633767@qq.com与我联系,很乐意与你交流。




原文链接: https://www.cnblogs.com/yxwkf/p/5224107.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/229293

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午2:16
下一篇 2023年2月13日 下午2:16

相关推荐