位置: 编程技术 - 正文

cocos2dx 3.1 cpp版本转lua版本 mac

编辑:rootadmin

推荐整理分享cocos2dx 3.1 cpp版本转lua版本 mac,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

项目最开始使用的c&#;&#;开发,第一版上线后总结经验,感觉走了很多弯路,所以第二版开发我决定将项目转成lua。使用c&#;&#;开发主要遇到这几个麻烦:一,招人不易,我们是小公司,没法用土豪公司的待遇福利来吸引熟手,只能招实习生或刚毕业的,这部分人c&#;&#;又不是很熟练,写出来的代码难免有各种问题,而找个会写lua的就简单多了。二,c&#;&#;的强大可较好的体现在架构上,可以方便运用各种设计模式,但我们项目开发时间紧,架构几乎没有,所以c&#;&#;的优势反而不如lua体现的好。三,最重要的一点,热更新啊。。。第一版没有代码热更新,各种发版本,各种玩家流失,多么痛的领悟

在转lua的过程中主要有三点问题:一,tolua的使用。二,luajit对位机器的支持。三,转android

一,tolua的使用

tolua工具在cocos/tools/tolua目录下面

1.按照README.mdown文件中的说明,一步步安装所需环境组件

2.修改genbindings.py中的output_dir和cmd_args,output_dir是生成的tolua文件的位置,如图

3.新建自己的ini文件(参考其他的ini文件),ini文件名和上图中的1相同,第一行的名字要和上图中的2相同,然后其他参数都有详细说明,可按需配置,用不到的置空即可。我用到的配置参数如下图

cocos2dx 3.1 cpp版本转lua版本 mac

4.运行genbindings.py脚本生成.h .cpp文件,加入到工程中,最后在加载lua文件前别忘了注册你导出的lua接口,如下图

二,luajit对位机器的支持

3.1版本的luajit还没有支持位机器,包括arm,x_,使用iphone6,6plus真机和模拟器时链接各种报错,使用ipone5倒是可以,可就这么打得包appstore也审核不过啊。所以google后,在这个blog找到了答案点击打开链接,这里面说的很详细了,我补充一句,在other linker flags中增加参数 -pagezero_size -image_base 按下图配置即可。

三,转android

已完成,可能过程对其他项目参考价&#;不是很大,因为我是通过研究build_native.py脚本,然后修改几个参数,修改android.mk等等,这里就不赘述了,如有兴趣,可留言

过程中遇到了几个错误:

一,[LUA ERROR] [string "require "DeprecatedEnum.lua""]

这是因为cocos引擎用到的lua脚本没有复制到asset目录下,打开编译android的脚本文件(我用到的是build_native.py),在copy_resources函数下添加复制lua资源的代码,记得后面的路径改成自己项目的相对路径

二,dvmFindClassByName rejecting 'org.cocos2dx.cpp.AppActivity'

原因是通过jni调用java函数时没有找到org.cocos2dx.cpp.AppActivity的类,因为我的包名已经改成org.coco2dx.lua了,所以找不到。。。

在cocos2dx中解析CSV文件 本文主要是用C简单的实现了cocos2dx中对CSV文件的解析,由于能力有限,写的不好的地方提出来共同学习共同进步,这里参考了笨木头使用LUA解析CSV文件

返回场景和音乐 播放背景音乐,实时音乐#includeSimpleAudioEngine.hCocosDenshion::SimpleAudioEngine::sharedEngine()-playEffect(pew-pew-lei.wav);//实时音乐CocosDenshion::SimpleAudioEngine::sharedEngine()-

Cocos2dx CCSprite CCSpriteFrame CCTexture2D CCAnimation学习总结 1.CCTexture2DCCSpriteFrameCCSprite三者之间的关系CCTexture2D是贴图纹理,是缓存到GPU中的图片数据。CCSpriteFrame是相对于动画来说的概念,代表动画中帧,CCSpriteFr

标签: cocos2dx 3.1 cpp版本转lua版本 mac

本文链接地址:https://www.jiuchutong.com/biancheng/368956.html 转载请保留说明!

上一篇:《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用(跑跑跑游戏)

下一篇:在cocos2dx中解析CSV文件(cocos2dx解密)

  • 增值税有哪些二类税种
  • 进项税额转出需要结转吗
  • 公司附加税怎么计算
  • 工资申报是当月申报当月的吗
  • 主营业务税金及附加怎么算
  • 怎么办开户许可证
  • 实收资本收到后用途
  • 收到存款利息属于现金流量表
  • 债转股企业所得税资本公积
  • 公司用商标权作假违法吗
  • 已抵扣的进项税发票开具红字发票信息表
  • 加速折旧的例子
  • 销售蔬菜免税账务处理
  • 建筑业可以开电费发票吗
  • 中药材收购需要纳税吗
  • 出口销售收入记账方法有哪些?
  • Win10时间显示到秒
  • 其他应付款科目核算的内容包括
  • 报关单上的生产销售单位
  • 贷款计入哪个会计科目
  • 商品削价要本着既能使企业什么又能使商品扩销的原则
  • 高新技术企业税率15%
  • f12开发者工具调试打不开
  • php如何调用接口
  • 前端框架react
  • php中strstr
  • 资产负债表的资产方能够提供的信息包括
  • 废旧物资回收企业所得税优惠政策
  • 超限量发票申请下来后怎么操作
  • 电力安装公司需要什么资质证书
  • vuedraggable官方文档
  • android应用程序开发语言
  • 前端传给后端
  • vue自学
  • 跨月的专用发票可以重新开吗
  • telnet命令大全
  • 逐帧flash动画
  • 完美破费是什么意思
  • 营业外收支的账户是什么
  • 固定资产一次性扣除如何做账
  • dubbo 实现原理
  • vuex 3
  • 手续费及佣金支出核算
  • 以前年度损益调整是什么意思
  • 制造费用属于哪一类会计科目
  • SQL2005 自动备份的脚本
  • 增值税专用发票和普通发票的区别
  • mongodb如何查询数据
  • 总资产报酬率的高低直接影响净资产收益率的高低
  • 固定资产基本特点
  • 出口收入没有及时申报怎么处罚
  • 自产产品用于不动产
  • 公司账户转账给个人要交税吗
  • 发票开出来对方不走账会怎么样?
  • 固定资产处置款怎么入账
  • 收款收据可以入账吗
  • mysql数据库定时备份脚本
  • windowsxp开机启动项在哪里设置
  • ubuntu2004分区教程
  • ubuntu好看的字体
  • Linux系统中Squid代理服务器配置全过程解析
  • 64位下无法运行32位程序的解决方法 提示未指定提供程序,也没有指派的默认提供程序
  • win1020th2
  • ubuntu配置vsftpd
  • fpd文件是什么意思
  • centos6.5配置静态ip地址
  • win7 windows安全
  • windows8 应用商店
  • 邮箱应用程序
  • 简单总结译码器和数据选择器的作用
  • opengl arb
  • node.js中实现同步操作的3种实现方法
  • linux中shell命令
  • nodejs连接mongodb副本集
  • Node.js中的什么模块是用于处理文件和目录的
  • Intermediate Unity 3D for iOS: Part 2/3
  • linux如何配置jdk
  • 使用Python对MySQL数据操作
  • 如何用jquery
  • 机关工勤人员2022工资套改表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设