位置: 编程技术 - 正文
推荐整理分享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相同,然后其他参数都有详细说明,可按需配置,用不到的置空即可。我用到的配置参数如下图
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障碍层的使用(跑跑跑游戏)
友情链接: 武汉网站建设