cocos2dx 3.3 AssetsManager简单分析
来源:互联网 发布:网络布线好学吗 编辑:程序博客网 时间:2024/05/30 20:07
文件分析
AssetsManager 更新总控,一个文件搞定所有更新步骤下面这一堆,完成跟上面一个文件类似的工作,只是做了更好的封装,需要用到指定格式的Manifest
用Manifest做配置文件
用Downloader做下载器
用CCEventAssetsManagerEx做流程事件分发
用CCEventListenerAssetsManagerEx做流程事件处理
用AssetsManagerEx做逻辑总控制
AssetsManagerEx 逻辑入口,总控
CCEventAssetsManagerEx 事件分发
CCEventListenerAssetsManagerEx 事件监听
Downloader 下载器,内部还是curl
Manifest 做文件版本比较用
更新流程
这部分只分析AssetsManager 的更新流程,下面那一堆所做的流程类似。
update--自动更新流程
checkUpdate--开启线程做downloadAndUncompresscheckUpdate--检测更新
curl初始化--连接获取版本文件--出错,NETWORK错误--版本比较--相同,NO_NEW_VERSION错误--不同,返回true
downloadAndUncompress--下载并解压文件
downLoad下载更新文件--出错,直接结束--将下载版本号记录到本地--uncompress解压--出错,UNCOMPRESS错误--本地版本号替换为新版本--清除下载版本号--设置搜索路径(把保存下载文件的路径加入到搜索路径中)--删除下载的更新文件--通知更新结束
几个value
用UserDefault保存的几个value
#define KEY_OF_VERSION "current-version-code" // 本地文件版本号
#define KEY_OF_DOWNLOADED_VERSION "downloaded-version-code"// 正在下载的版本号,主要用于下载中断时记录用
downLoad--下载
创建文件--出错,CREATE_FILE错误--curl连接,开始从下载地址下载文件--出错,NETWORK错误--下载结束后将数据写入到文件--关闭文件
uncompress--解压文件
unzOpen--unzGetGlobalInfo--zip内各文件解压【unzGetCurrentFileInfo--如果是文件夹,createDirectory--unzOpenCurrentFile--创建文件--unzReadCurrentFile--将数据写入到文件--关闭文件--unzCloseCurrentFile--unzGoToNextFile】解压结束--unzClose
以上解压过程,中间任何一步出错,直接结束解压
0 0
- cocos2dx 3.3 AssetsManager简单分析
- cocos2dx 3.3 AssetsManager测试更新
- cocos2dx 3.3 Scheduler简单分析
- cocos2dx AssetsManager的一个BUG
- cocos2dx AssetsManager的一个BUG
- cocos2dx 3.3 TMX系列简单分析
- cocos2dx 3.10版本的AssetsManager问题
- cocos2d-x的AssetsManager分析
- AssetsManager
- AssetsManager
- 【转载,有批注】cocos2dx AssetsManager的一个BUG
- 7------cocos2dx 3.1.1 在线热更新 自动更新(AssetsManager)
- 【cocos2dx】上下左右简单的触控分析
- 分析cocos2dx 3.3运行流程
- COCOS2DX-LUA脚本开发之Hybrid模式-利用AssetsManager实现在线更新脚本
- cocos2dx 3.1.1 在线热更新 自动更新(使用AssetsManager更新游戏资源包)
- cocos2dx 3.1.1 在线热更新 自动更新(使用AssetsManager更新游戏资源包)
- cocos2dx 3.1.1 在线热更新 自动更新(使用AssetsManager更新游戏资源包)
- 用简单的C语言实现多任务轮流切换(模拟操作系统线程机制)
- 细说UI线程和Windows消息队列
- jpa查询所有的记录
- Visual format language(2)
- hdu 2046 骨牌铺方格
- cocos2dx 3.3 AssetsManager简单分析
- MySql数据库(二)
- QQ SDK 分享实现,及不回调问题
- windows 多线程 消息队列
- 电脑常识之磁盘的簇
- bzoj2208 连通数 tarjan缩点&状压常数优化
- 计算机原理-w位无符号和有符号位数最大值和最小值公式
- Cheat Engine 6.4源码编译
- Android - 手机卫士开发(MobileSafe)(二)