内容主要参考 “在quick-cocos2d-x中添加自定义的类给lua使用” (http://www.codeo4.cn/archives/746)
1. quick-coco2d-x 使用 tolua++ 来简化lua绑定c++类操作,mac下用到了 /usr/local/bin/tolua++ ,可以把bin/mac下的可执行程序复制过去,省得编译安装了。
2. 在lib/cocos2dx_extra/extra 下创建目录并实现c++类,例如 mylib/foo.h mylib/foo.cpp
3. 修改/lib/cocos2dx_extra/extra/luabinding/cocos2dx_extra_luabinding.tolua ,在开头加入
$#include "mylib/foo.h"
在文件尾部加入类定义,遵循以下原则:
1) enum keeps the same
2) remove CC_DLL for the class defines,pay attention to multi inherites
3) remove inline keyword for declaration and implementation
4) remove public protect and private
5) remove the decalration of class member variable
6) keep static keyword
7) remove memeber functions that declared as private or protected
4. 执行 lib/cocos2dx_extra/extra/luabinding/build.sh 生成类的lua绑定类,就是/lib/cocos2dx_extra/extra/luabinding/cocos2dx_extra_luabinding.cpp,正常应该在文件里看到foo类
5. 如果是Android项目,修改 lib/cocos2dx_extra/proj.android/Android.mk
在LOCAL_SRC_FILES 里加入源文件 ( ../extra/mylib/foo.cpp \)
如果用到第三方库,加入到LOCAL_WHOLE_STATIC_LIBRARIES 和$(call import-module,libxxx)
6. 编译项目
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。