Shawn前段时间一时心血来潮想尝试一下GitChat,话题是《Cocos Creator 集合类游戏模块化与热更新实践》。

 

结果一不小心把话题和提纲给整大了!第1个小节就花了3天时间码了近2500字...

GitChat即将出炉,内容提前预告!_热更新

 

回看整个大纲还有6个小节,这个Chat涉及的内容是不是太多了呀!

GitChat即将出炉,内容提前预告!_多模块_02

 

但这时已经超过60人预订,没有退路了,只能死磕自己!

GitChat即将出炉,内容提前预告!_设计思路_03

经过两个星期不停的自我争斗,现在总算是把稿子提交审核了!在这里预告一下Chat的主内容。

一、大厅+子模块的游戏设计思路

界面模块与游戏模块 工程设计思路 多工程-多模块(仅支持H5) 单工程-多模块(主要内容) PureMVC方案 场景&预制方案 子模块入口

  • 场景入口

  • 预制入口

二、Creator工程物理结构

静态资源&动态资源 三种单工程-多模块的工程物理结构 动态资源型 动静结合型 静态资源型

  • 动态加载静态资源

  • 生成资源定义文件

三、游戏模块资源结构

研究模块内部的资源组织方式 config animation sound test texture view

四、使用GameManager启动子模块场景

子模块启动流程 异步流程控制 获取更新进度 加载子包 过渡动画

五、模块化热更新HotUpdateManager

热更新框架

GitChat即将出炉,内容提前预告!_多模块_04模块化更新思路

GitChat即将出炉,内容提前预告!_模块化_05

构建资源内容分析 在主模块添加子模块manifest文件

AssetsManger实践

  1. 获取manifest文件路径

  2. 注意md5构建对文件名的影响

  3. 更新搜索路径

  4. 文件校验

  5. 事件广播

  6. 更新主模块

  7. 定制main.js

六、更新包制作与安装包裁剪

资源结构分析

GitChat即将出炉,内容提前预告!_静态资源_06

GitChat即将出炉,内容提前预告!_设计思路_07

GitChat即将出炉,内容提前预告!_多模块_08

使用Creator插件生成资源地图

  1. buildResults结构分析

  2. assets结构分析

模块配置 更新包制作

GitChat即将出炉,内容提前预告!_静态资源_09

安装包裁剪 上传热更新资源 使用远程调试 还有待解决的问题

七、基于Grunt的分模块资源同步

grunt介绍 安装grunt与插件 Grunt任务模块目录结构 Gruntfile 文件同步任务 UI资源同步 动画资源同步 图集合并同步 资源仓库更新 任务整合

GitChat即将出炉,内容提前预告!_设计思路_10

12月21日内容在微信GitChat上出炉,感谢大家的订阅与支持,Shawn个人能力有限,如有不正之处欢迎指正!