个人总结¶
-
游戏展示
- Gaple
- FishFarm
-
工作内容
- 将 Android 项目工程从 Support 全面升级到 AndroidX
- 接入广告、数据分析 SDK,Tradplus、Adjust 等
- 将 Spine Runtime 从 v2.1 升级到 v3.8,支持最新的二进制格式,使文件占用更小,解析速度更快
- PackManV2(使用 PyQt 开发的可视化打包、调试工具)
- 新增项目同步助手,助力同类 App 项目的代码同步,大幅提高同步效率
- 新增 BMFontTool 工具,可直接通过拖拽散图到工具中,一键合成图片字
- 新增 Lua 语法检查和嵌套层级检查,方便 bug 定位和代码优化
- 新增 Lua 文件编码转换工具
- 新增 Android 打包时同时导出 .aab 包的功能
- 集成轻量级 web 服务器 mongoose
- 启用 mongoose 的 http 功能作为本地文件服务器,监视 App 的可读写路径,可以通过浏览器查看日志、文件等,使 bug 定位更加方便
- 启用 mongoose 的 websocket 功能,在 2d-x 项目中使用 webview 展示 cocos creator 制作的活动页面,通过 websocket 实现 js 和 lua 的交互
- 集成 Fmod 作为默认音频播放引擎,使得音频播放更加稳定
- SimpleAudioEngine 播放音效数量过多时会出现丢失问题
- AudioEngine 在 Android 上频繁切换音频时有概率出现 App 闪崩
- API 向 AudioEngine 看齐,使音频切换代价接近最小
- bugly 追踪和定位 bug
- creator 框架建设
- 弹窗管理、强弹管理、红点管理、大厅转场管理
- drawcall 优化
- 使用静态合图
- UI 层级拆分和调整,分离图像节点和文本节点
- 文本使用 BMFont 或开启 char 缓存模式
- 需要使用一个 Spine 文件创建多个节点时,开启 Spine 的合批
- 尽量减少使用 shader 和更换材质,因为它们都会打断合批
- 性能优化
- 使用静态合图
- 按照从大到小的顺序加载合图
- 使用对象池
- 减少音频文件大小
- 使用极少的内容使用完毕后立即释放
- 切换场景时释放无用资源
- 使用 Spine 骨骼动画替换序列帧动画
- 使用预制体,且单个预制体不宜过大
- 使用 BMFont
- 使用异步/分帧加载等多种方式,避免内存激增,导致性能下降
- 减少 Mask 组件的使用
- 棋牌子游戏
- 龙虎斗
- 百家乐