【cocos2d-x】使用 tolua 导出自定义 c++ 类

本文详细介绍了如何在cocos2d-x 3.10版本中,通过tolua将自定义的C++类导出到lua。首先介绍了cocos2d-x的源码目录结构,然后讲解了准备工作,包括环境配置和所需Python库的安装。接着,阐述了使用genbindings.py脚本导出自定义类的方法,并创建了genbindings_myclass.py和myclass.ini文件。最后,通过测试项目验证了导出类的正确性,演示了在lua中如何使用这些导出的类和方法。
摘要由CSDN通过智能技术生成

开始之前

首先来看一下 cocos2d-x3.x 的源码目录结构(这篇文章以 3.10 为例,只列出重要的几个目录和文件)

|-cocos2d-x3.10
    |-tools
        |-tolua
            |-genbindings.py
            |-cocos2dx.ini
            |-cocos2dx_ui.ini
            |-...
            |-README.mdown
        |-bindings-generator
            |-libclang
                |-libclang.dll
                |-libclang.so
                |-libclang.dylib
            |-clang
                |-cindex.py
            |-generator.py
    |-cocos
        |-2d
        |-...
        |scripting
            |-js-bindings
            |-lua-bindings
                |-auto
                    |-api
                        |-Action.lua\
                        |-...
                    |-lua_cocos2dx_auto.hpp
                    |-lua_cocos2dx_auto.cpp
                    |-lua_cocos2dx_ui_auto.hpp
                    |-lua_cocos2dx_ui_auto.cpp
                    |-...

主要列出了 tools 和 cocos 这两个文件夹下的主要内容,cocos 目录是 cocos2d-x 引擎的源码(C++),其中 lua-bindings 目录下是导出的脚本语言,包括 js 和 lua;在 lua-bindings 下有个 auto 文件夹,这就是 tolua 生成文件存放的地方。tools 目录下是 cocos2d-x 非常实用的一些工具,包括创建项目、编译项目、运行项目的控制台命令等,这里我们要看的是 tolua 和 bindings-generator 这两个文件夹;tolua 目录毫无疑问就是这篇文章的主角,接下来我们要做的工作就是在这个目录下完成的;binding-generator 目录下是一些 tolua 会用到的文件,其实我们不用理会,这里列出来只是为了告诉大家 tolua 会用到这几个文件。

准备工作

在开始之前我们需要做一个准备工作,就是配置环境。cocos 环境和 android 环境就不用讲了,还需要配置的是 python 环境,因为 cocos2d-x 的 tolua 是使用 python 脚本来执行的。这个工作看 tools/tolua/README.mdown 这个文件就行了,下面翻译一下

  • 首先,安装 ndk 并配置环境变量 NDK_ROOT
  • 然后,下载安装 python2.7,注意必须安装 32 位版本,下载地址
    python2.7.3
  • 配置 python 环境变量 PYTHON_BIN
  • 下载安装 python 库 pyyaml,下载地址
    pyyaml,pyyaml 安装的时候会读取 python 安装路径并将结果安装在 %PYTHON_BIN%\Lib\site-packages 目录下
  • 下载 python 库 pyCheetah,下载地址
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值