在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
自从工作后感觉时间较少(每天工作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里了
|
请发表评论