quick-cocos 3.5 lua banding c++

quick-cocos 3.5 lua banding c++在tools\tolua目录下有个README,里面详述了在各个平台下怎么使用,这里只是稍微记述下windows下面的使用和遇到的问题。1.首先下载AndroidNDK,版本r9b以上,自己网上找下,然后配置下环境,系统–高级系统设置–高级–环境变量,在自己用户的环境变量中新建,变量名从genbindings.py中可以看到是NDK_ROOT,变量值就是你AndroidNDK的路径。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在tools\tolua目录下有个README,里面详述了在各个平台下怎么使用,这里只是稍微记述下windows下面的使用和遇到的问题。

1.首先下载Android NDK,版本r9b以上,自己网上找下,然后配置下环境,系统–高级系统设置–高级–环境变量,在自己用户的环境变量中新建,变量名从genbindings.py中可以看到是NDK_ROOT,变量值就是你Android NDK的路径。

2.下载 Python ,版本2.7.3以上,一定要32位的。官网上面找下http://www.python.org。然后还是配置环境变量,在系统变量中path中,添加2个,1个是python的路径,还有1个是python目录下的Scripts。变量设置好,这里要稍微改下python的东西,因为python默认是ASCII编码,在windows上面直接用pip下载模块的话,会有编码问题。所以在python根目录下的Lib\mimetypes.py 中,在最上面的import后面加上

if sys.getdefaultencoding() != “gbk”:
    reload(sys)
    sys.setdefaultencoding(“gbk”)

注意python的缩进。然后重启cmd,就可以开心的使用pip了。

3.pip是python管理模块包的工具,在cmd中输入pip help 就能看到相关的帮助。根据README中的描述,在python中我们还需要用到2个模块,pyyaml,Cheetah。直接pip install pyyaml ,pip install Cheetah 就可以了。

基本的环境都搭好了,接下来就是开始编写自己的描述文件。在tools\tolua 下面,可以看到有许多的.ini文件,这就是需要的描述文件。随便找一个copy一份,打开,我们只要照着之前的模板,稍微修改就行。

prefix = 改成自己的.int的名字

target_namespace = 在lua中调用的名字,

headers = 这是最重要的,我们自己写的c++头文件的路径

classes = 导出的c++类

接下来再copy一份genbindings.py,改成自己的名字,需要修改的是

        output_dir = 这里可以改成你需要的导出的路径或者不改

cmd_args = {‘cocos2dx.ini’ : (‘cocos2d-x’, ‘lua_cocos2dx_auto’), \  中有一大堆这样的描述,照着样子,改成自己的 .ini 和.ini的名字,最后lua_cocos2dx_auto随便改,这是生成的中间文件,当然最好是按着一定的格式改,这样方便查找。

最后一定要在本目录下,运行刚刚改写的python来生成中间文件。如果一切顺利的话,将生成的.cpp,.hpp添加到编译器中,重新编译,然后在lua中就可以调用了

这里只是记述一下大致的流程,主要还是备忘下python的编码格式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184009.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • volatile关键字到底有什么作用

    volatile关键字到底有什么作用提示:更多优秀博文请移步博主的GitHub仓库:GitHub学习笔记、Gitee学习笔记volatile是Java提供的一种轻量级的同步机制。Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile变量的同…

    2022年5月31日
    29
  • django动态路由_网线无线转换器怎么用

    django动态路由_网线无线转换器怎么用自定义路径转换器有时候上面的内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器django内置的路径转换器源码解析在我们自定义路由转

    2022年7月28日
    5
  • 埃尔夫斯堡vs赫尔辛堡比分分析_马赛对阿贾克斯

    埃尔夫斯堡vs赫尔辛堡比分分析_马赛对阿贾克斯一、c++STL常用内容总结文章目录一、c++STL常用内容总结1.vector(数组)1.1介绍1.2方法函数1.3注意点1.3.a排序1.3.b访问2.stack(栈)2.1介绍2.2方法函数2.3注意点2.3.a.栈遍历2.3.b.模拟栈3.queue(队列)3.1介绍3.2方法函数4.deque(双端队列)4.1介绍4.2方法函数4.3注意点5.priority_queue(优先队列)5.1介绍5.2函数方法5.3设置优先级5.3.a基本数据类型的优先级5

    2025年5月25日
    1
  • Spring的AOP与动态代理[通俗易懂]

    Spring的AOP与动态代理[通俗易懂]Spring的AOP与动态代理

    2022年4月22日
    47
  • p6操作教程_pc6视频教学

    p6操作教程_pc6视频教学在开发的过程中,我们经常会遇到由于sql语句书写错误导致的bug,那么如何来解决这种困扰呢?如果方法执行完了可以打印出完整的sql语句,就可以方便我们判断执行的是否正确,所以我们希望有一个可以打印sql语句的插件。p6spy就是一款这样的工具,下面给大家介绍一下p6spy的使用。使用p6spy需要做以下三步:1. 导入jar包:将jar包复制到项目中去,记得要buildpath一下。我用…

    2022年10月5日
    0
  • 200行Html5+CSS3+JS代码实现动态圣诞树

    200行Html5+CSS3+JS代码实现动态圣诞树一、前言最近CSDN的热榜出现了很多用Python、C/C++等编程语言实现的圣诞树,这篇文章用前端三大杀手Html5、CSS、Js来实现动态圣诞树二、

    2022年7月25日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号