加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx 3.3 AssetsManager简单分析

发布时间:2020-12-14 16:52:40 所属栏目:百科 来源:网络整理
导读:文件分析 AssetsManager 更新总控,一个文件搞定所有更新步骤 下面这一堆,完成跟上面一个文件类似的工作,只是做了更好的封装,需要用到指定格式的Manifest 用Manifest做配置文件 用Downloader做下载器 用CCEventAssetsManagerEx做流程事件分发 用CCEventLi

文件分析

AssetsManager 更新总控,一个文件搞定所有更新步骤


下面这一堆,完成跟上面一个文件类似的工作,只是做了更好的封装,需要用到指定格式的Manifest
用Manifest做配置文件
用Downloader做下载器
用CCEventAssetsManagerEx做流程事件分发
用CCEventListenerAssetsManagerEx做流程事件处理
用AssetsManagerEx做逻辑总控制
AssetsManagerEx 逻辑入口,总控
CCEventAssetsManagerEx 事件分发
CCEventListenerAssetsManagerEx 事件监听
Downloader 下载器,内部还是curl
Manifest 做文件版本比较用


更新流程

这部分只分析AssetsManager 的更新流程,下面那一堆所做的流程类似。


update--自动更新流程

checkUpdate--开启线程做downloadAndUncompress checkUpdate--检测更新 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 以上解压过程,中间任何一步出错,直接结束解压

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读