cocos2d-x中CCEditbox导出到lua
自从工作后感觉时间较少(每天工作9-22,晚上就不想动了,早上想多睡点),工作中用的是
cocos2d-x。cocos2d-x是一款手机游戏引擎,虽然支持lua,但和love2d相比非纯lua游戏引
擎,不过很容易把C++里的类导出到lua。(虽然cocos2d-x比love2d更流行,工具和教程更
多,我还是会继续更新love2d相关的,因为特别喜欢love2d的小巧。)
cocos2d-x集成了tolua++,tolua++是一款把C++类导出到lua的工具。该工具使用的一般
流程是:
1、制作pkg文件,pkg文件就是你需要要导出的函数和类,基本和头文件一致
2、使用tolua++.exe 从pkg文件生成其对应的C/C++源文件,如tolua++-o test.c test.pkg
3、把生成的源文件加入工程,并在链接里加入lua和tolua++的库
其实tolua++就是自动帮我们完成了C/C++到lua的绑定,之后我们就可以在lua里调用C/C++
里的函数。
在cocos2d-x里就比较方便了,只需要在“tools\tolua++”,里添加你要导出的类的pkg,
同时在Cosos2d.pkg里包含你自己的pkg,即$pfile "test.pkg",还有在LuaCocos2d.h里添加
这个类对应的头文件,即#include "test.h",最后运行 build.bat。
注意一下类的继承,如果你导出的类是A的子类,那么也要把A类导出。
下面是CCEditBox导出到lua的pkg,CCEditBox涉及到了多个类所以较长。
CCScale9Sprite.pkg,先要导出CCScale9Sprite
CCEditBox继承的几个类我全放到CCEditBox.pkg里了
作者:半山
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。