Quick-Cocos2d-x 2.26 用tolua导出C++类给lua调用WINDOWS篇例子2
参考:http://www.cnblogs.com/vokie/p/3816324.html 这篇博文 给了详细的操作,配有图,推荐大家看 参考:http://www.codeo4.cn/archives/746 这篇博文版本较老,而且是基于xcode 这次以第二篇博文例子为主,这个例子没有新建一个.tulua文件,而是在原来的.tulua中修改,同时新建了一个目录夹,将要添加的c++头文件和源文件放在里面,也有实用价值。 1、创建目录和c++源文件 在C:workquick-cocos2d-xlibcocos2d-xexternalextra创建一个myclass目录,然后创建: MySprite.h 内容如下: #ifndef __mtet__MySprite__ MySprite.cpp 内容如下: #include "MySprite.h" 2、修改调用.tolua文件,包含并创建lua对c++文件的调用 在C:workquick-cocos2d-xlibcocos2d-xexternalextraluabinding 修改:cocos2dx_extra_luabinding.tolua A: 在:cocos2dx_extra_luabinding.tolua正文 $#include "network/CCNetwork.h" 后面加上:(这部分是包含c++文件) $#include "myclass/MySprite.h" B: 在:cocos2dx_extra_luabinding.tolua正文 class CCNetwork 后面加上:(这部分是lua对c++的调用) $#include "myclass/MySprite.h"class MySprite : public CCSprite{ 3、执行build.bat,生成新的.cpp文件,以便visual studio调用 双击C:workquick-cocos2d-xlibcocos2d-xexternalextraluabindingbuild.bat 生成新的: cocos2dx_extra_luabinding.cpp 进入cocos2dx_extra_luabinding.cpp,会看到里面有MySprite这个关键字,表示生效 4、用vs2012打开player.sln,生成新的模拟器 打开C:workquick-cocos2d-xplayerproj.win32player.sln 在项目的:cocos2x_2012>cocos2d-x>external>extra>创建一个myclaa筛选项,把MySprite.h和MySprite.cpp包含进来。 然后编译。 (可以在cocos2x_2012点右键选属性,然后在弹出的配置属性>c/c++>常规右边的“附加包含目录中,点编辑:新增一个: $(QUICK_COCOS2DX_ROOT)libcocos2d-xexternalextramyclass,我试过添加或不添加,不影响编译) 5、测试是否起作用,在MainScene.lua中,修改代码如下: function MainScene:ctor()local label = ui.newTTFLabel({ text = "Hello,World", size = 64, x = display.cx, y = display.cy, align = ui.TEXT_ALIGN_CENTER }) self:addChild(label) local ms = MySprite:createMS("icon.png") self:addChild(ms) end 用新编译的模拟器测试,出现icon.png图片,成功! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |