AKever

导航

Cocos2dx 3.x 暴露Cpp接口ToLua

Cocos2dx 3.x 暴露Cpp接口ToLua

新建项目:http://www.cnblogs.com/TS-qrt/articles/cocos_cre.html

cocos new LuaToCpp -p com.luatocpp.main -l cpp -d D:\cocos\cocos2d-x-3.6\projects

以下正式开始(win7(64bit)+python2.7.10(32bit)):

1.根据 "cocos2d-x-3.6\tools\tolua\README.mdown" 安装好各项

ndk(android-ndk-r9b) 
python(32bit) 
PyYAML-3.10.win32-py2.7.exe
Cheetah.zip
warn: ndk听闻有些版本使用过程中出现问题,最好用以上版本。
      python(64bit)不能用,必须用(32bit)

2.将新将项目的 "HelloWorldScene.h"暴露给Lua

写一个生成的python脚本(copy & change)
copy "cocos2d-x-3.6\tools\tolua\genbindings.py" 改名:"genbindings_tolua.py"(自定义)

3.修改"cocos2d-x-3.6\tools\tolua\genbindings_tolua.py"

1.输出目录(生成的暴露接口文件)
  output_dir = '%s/cocos/scripting/lua-bindings/auto' % project_root
  改:(以下是我的)
  output_dir = '%s/projects\LuaToCpp\Classes\tolua' % project_root

2.修改命令参数,把
   cmd_args = {'cocos2dx.ini' : ('cocos2d-x', 'lua_cocos2dx_auto'), \
          ... ...'cocos2dx_physics.ini' : ('cocos2dx_physics', 'lua_cocos2dx_physics_auto'), \
               }
   改:
   cmd_args = {'myclass.ini' : ('myclass', 'lua_myclass_auto') }

3.添加myclass.ini
  拷贝 cocos2dx_spine.ini改名为"myclass.ini" 修改: 
  [myclass]
  prefix
= myclass
  target_namespace
= sp
  target_namespace
=
  headers
= %(cocosdir)s/projects/LuaToCpp/Classes/HelloWorldScene.h
  classes
= HelloWorld
  skip
=
  abstract_classes
=
4.python 直接运行 "genbindings_tolua.py" 文件

4.生成文件成功:

 

-------- THE END !!!

 

posted on 2015-06-24 11:14  AKever  阅读(300)  评论(0)    收藏  举报