quick-3.5 绑定自定义C++类到Lua并使用cocos code ide 调式

在这里主要记录怎么绑定自定义C++类到Lua

参考文章在这里【绑定自定义类至Lua】,在我操作过程中略有不同,现在把步骤记录下来。

1.打开引擎目录下\tools\tolua\README.mdown,安装相应软件
2.项目目录\frameworks\cocos2d-x\tools\tolua,复制cocos2dx_cocosbuilder->custom.ini,genbindings->custom-genbindings.py
3.修改复制后的文件

custion.ini

主要修改:

第1行:[custom_socket]

第4行:prefix = custom_socket

第8行:target_namespace =

第26行:headers = %(cocosdir)s/../runtime-src/Classes/net/SocketModule.h

第30行:classes = ClientSocket.* CMD_Command.* ConnectHandler.* RecvHandler.*

其余根据具体来设置,主要说一下第26行是创建一个头文件,包含导出类的相关头文件,30行是导出的类定义

custom-genbindings.py

主要修改:

第134行: output_dir = ‘%s/../runtime-src/Classes/lua-bindings/auto’ % project_root

第136行: cmd_args = {‘custom.ini’ : (‘custom_socket’, ‘lua_custom_socket_auto’),\
}

修改好后,在命令行执行:custom-genbindings.py


如果没有错误的话会生成lua_custom_socket_auto.hpp和lua_custom_socket_auto.cpp

接下来注册自定义模块:

1.添加到工程


2.引入到AppDelegate


3.注册模块


使用cocos code IDE 1.2.0断点调试,由于使用调试的模拟器是另外一个程序quick-3.5/tools/simulator,所以需要将脚本生成的文件在simulator工程再添加一遍:

生成新的模拟器,然后在lua中测试,就可以调用自定义的C++类了

QQ群:239759131 cocos 技术交流 欢迎您