最近用的引擎版本是cocos2dx-3.8.1-lua代码, 考虑到以后会开发多款游戏, 所以需要在cocos2dx上扩展一轻量级的框架,封装常用的游戏模块,这个框架包括c++工程和lua工程, 思想类似于以前的quick-Cocos2dx框架

为了便于升级引擎,所以尽可能的不对 cocos2dx引擎的代码做改动, 但是不可避免要完成一些引擎的填坑工作

以下是对cocos2dx引擎的修改点(记录在此,以后升级引擎同样要修改):

  1. 修改CCLuaStack.cpp中的lua_release_print, lua_print中去掉打印Lua字符串头, 将\t替换成4个空格(在mac上\t换行有问题)
  2. 修改mac/simulatorApp.mm 增加输出日志到文件,设置优先读取路径,去掉编译mac模拟器拷贝脚本和资源的功能, 从优先路径读取即可
  3. 修改mac/ConsoleWindowController.m中的MAX_LINE_LEN MAX_LINES_COUNT 定义扩大输出日志行数限制
  4. 修改lua工程配置 将luajit删除,改为引用lua,    因项目需要一套字节码android/ios用一套字节码维护,故暂时放弃luajit方案
  5. 将lua5.1.4升级为lua5.1.5并移植代码混淆方案(该方案基于quick3.3)
  6. 修改binder-generator/targets/lua/conversions.yaml中添加    LUA_FUNCTION : "${out_value} =  toluafix_ref_function(tolua_S,${arg_idx},0);ok &= ${out_value} != 0;"   这样可以支持LUA_FUNCTION的tolua导出(很奇怪的是cocos3.8.1去掉了这一行不知道目的何在?)
  7. 修改binder-generator/targets/lua/conversions.yaml增加dragonBones支持
  8. 修改AppDelegate.cpp增加加解密代码, 修改进入前台/后台执行代码 经逻辑删除放在lua端,增加发送前台/后台事件代码
  9. 修改Android工程的Application.mk增加 APP_PLATFORM:=android-19 这样用ndk10+编译就不会报错了
  10. 修改Android工程mk中的luajit应用改为lua

在此基础上进行了扩展性封装

  1. 轻量级c++框架工程cola  (包括加密,cjson ios支付,dragonbones, lfs, sqlite,  native窗体, pbc, lpack)
  2. lua框架工程cola (包括常量模块,打印扩展, 设备相关扩展,方法扩展, label/node扩展 protobuf支持, Cache, 本地存储支持, 龙骨动画管理器, 广播管理器, sdk平台框架, 资源管理框架及通用接口编写, lua常用ui btn/list/窗体/界面/场景基类/富文本封装  加密/json解析/action/lua嗲用ocjava统一接口扩展, 不重启直接刷新界面机制)
  3. tools用于编写各种一键化脚本 (包括动画打包生成脚本, 密钥证书脚本,配置文件导出脚本, 字体文件生成脚本, android打包签名上传脚本, ios打包签名上传脚本, 字节码及加密脚本,  so/静态库生成脚本, tps生成大图脚本,  protobuf处理自动生成代码脚本, tolua绑定脚本)

整个项目后续考虑支持

多语言框架支持/  增加更新脚本及代码支持/  增量更新差异包支持/  sdk接入与完善/  日志上传支持/  spine测试与完善/  crash分析包支持/  shader支持/  AI行为树支持/  pomelo扩展支持/

转载于:https://www.cnblogs.com/ColaZhang/p/4922186.html

对cocos2dx引擎的改动相关推荐

  1. 【HIMI转载推荐之三】基于Cocos2dx引擎UI扩展引擎包[cocos2d-x-3c]

    [前言点评] 此篇主要作者:jason-lee-lijunlin  基于Cocos2d-x引擎进行封装的UI框架的扩展包. 此文章Himi已经仔细看过,总体来说是篇很好的文章,是给使用-x引擎的童鞋们 ...

  2. [cocos2dx]基于Cocos2d-x引擎的游戏框架设计

    游戏架构与实现 目前,很多基于cocos2d-x的代码基本上仅是对引擎功能的使用,完全不能按照游戏项目的标准来参考.作为游戏项目代码,不仅需要实现游戏的诸多功能,还需要从架构层面,从模块设计的角度来思 ...

  3. 基于cocos2d-x引擎的游戏框架设计【转载】

    http://www.cnblogs.com/lancidie/archive/2013/03/18/2965564.html 基于cocos2d-x引擎的游戏框架设计 移动互联网浪潮正在彻底改变人们 ...

  4. 分享个手机棋牌游戏源码  欢乐麻将2.0 使用cocos2d-x引擎开发

    分享个手机棋牌游戏源码  欢乐麻将2.0 使用cocos2d-x引擎开发 https://bbs.wxrym.com/thread-90094-1-1.html (出处: 外星人源码论坛) 不知不觉已 ...

  5. Android Cocos2dx引擎 prv.ccz/plist/so等优化缓存文件,手把手ida教你逆向工程反编译apk库等文件

    前段时间在 Android play 上看到一个很牛逼的 3D 动态天气预报,效果真的很炫,二话不说动手 dex2jar.bat/apktool 发现这并没 有什么卵用,在核心的地方看见 native ...

  6. Android Cocos2dx引擎 prv.ccz/plist/so等优化缓存文件,手把手ida教你逆向project反编译apk库等文件...

    前段时间在 Android play 上看到一个非常牛逼的 3D 动态天气预报,效果真的非常炫.二话不说动手 dex2jar.bat/apktool 发现这并没 有什么卵用,在核心的地方看见 nati ...

  7. Cocos2D-X引擎的发展

    手机游戏是当下多数人消磨零碎时间的主要选择,时下,恐怕连一个未上小学的孩子都能随口说出一.两个如"愤怒的小鸟"."水果忍者"等手机游戏.随着智能手机的普及以及用 ...

  8. Cocos2dx引擎笔记——内存优化

    内存优化原理 纹理最耗应用内存, 纹理几乎会占据90%应用内存.所以尽量最小化应用的纹理内存使用,否则应用很有可能会因为低内存而崩溃. 认识瓶颈寻找方案 什么样的纹理最耗应用内存?消耗多少内存?利用苹 ...

  9. 《大掌门》欧阳刘彬--基于Cocos2d-x引擎开发经验分享

    <大掌门>欧阳刘彬分享的内容同样是与Cocos2D-X和跨平台开发有关,在演讲中他详细分享了为什么会选择Lua. 欧阳刘彬:首先感谢CocoaChina的邀请,跟大家分享一下我们<大 ...

最新文章

  1. PostgreSQL 模式删除背后的代码
  2. 【机器学习基础】数学推导+纯Python实现机器学习算法11:朴素贝叶斯
  3. 太难得了!大厂数据分析实战项目资料首次公开!免费,速领!
  4. 【Tools】MarkDown教程(三)-MarkDown表格和公式
  5. CodeForces - 1321D Navigation S.ystem(最短路+思维)
  6. 【跃迁之路】【651天】程序员高效学习方法论探索系列(实验阶段408-2018.11.24)...
  7. BZip2Codec压缩、Map端压缩控制、Reduce端压缩控制……都在这份Hadoop整合压缩知识点里了!...
  8. bootstrap----表格
  9. 鸿蒙系统和汽车,华为鸿蒙系统和新日电动车,到底是什么关系?
  10. fzyzojP2119 -- 圆圈游戏
  11. java class 内容查看_015-JVM-使用javap查看class文件内容
  12. java.lang.ClassNotFoundException: javax.servlet.SessionCookieConfig
  13. 深度学习入门之二阶段小demo练习(持续更新系列)
  14. pr转场 18种不同风格图形元素小故障视频过渡pr视频转场模板
  15. 16比9尺寸是多少厘米_16比9尺寸换算方法
  16. 如何用python处理文件(图文详解)
  17. SkyEye与Trace32集成并搭建调试环境
  18. 「硬见小百科」电子器件封装缺陷和失效的形式
  19. json转义问题(消除反斜杠及{}外面多余的“)
  20. tekton task资源

热门文章

  1. vim之好用插件-ctrlp.vim
  2. vim与Python推荐之插件Autopep8
  3. 邮件头解析=?utf-8?Q?乱码
  4. basestring与str的区别
  5. uni的numberbox怎么用_uni-组件基本操作
  6. Python 十六进制转Base64_python基础day03笔记
  7. android服务的原理,Android学习笔记:IntentService
  8. 腾讯云【人脸识别】服务的一次尝试(JAVA)
  9. DevExpress的PdfViewer添加工具栏实现PDF打开、预览、保存、打印
  10. RocketMQ-手把手教你搭建集群