cocos2d-x的AssetsManager分析
来源:互联网 发布:聊天室源码 编辑:程序博客网 时间:2024/05/16 12:10
源码相关文件路径:
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\cocos-ext.h
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\AssetsManager\AssetsManager.h
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\AssetsManager\AssetsManager.cpp
引用方法:
#include "cocos-ext.h"
#include "AssetsManager.h"
using namespace cocos2d::extension;
Additional Include Directories:
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\extensions\AssetsManager
Additional Library Directories:
C:\dev\cocos2d-2.1rc0-x-2.1.2-hotfix\Debug.win32
Additinal Dependencies:
libcurl_imp.lib
libExtensions.lib
该AssetsManager的基本流程:
1. 配置需要更新的zip的URL,更新版本号的URL,更新存放的相对路径
2. 从Server获取该zip文件的版本号
3. 对比Client中的UserDefault.xml中current-version-code键的值(当前版本号)是否过期
4. 若Server的版本比Client的新,则通过http请求下载该zip
5. 解压缩该zip文件
6. 下载后通过CCFileUtils的fullPathForFilename方法来获取文件的引用
下载流程:
update():
1. 配置的zip的URL和version的URL必须合法,且非空
2. 检验Server是否存在新版本
3. 读取UserDefault.xml的downloaded-version-code,对比当前版本号,若不相等则进行zip包下载
4. 若下载完成,记录最新的版本号于UserDefault.xml的downloaded-version-code中,并flush刷新
5. 解压缩zip包
6. 若解压成功,记录最新的版本号于UserDefault.xml的current-version-code中,并把downloaded-version-code删除,并flush刷新
7. 设置搜索路径,(先获取搜索路径vector,然后将新的搜索路径插入到该vector中,将该vector重新放入CCFileUtils中)
8. 删除未加载的cocos2dx-update-temp-package.zip文件
- cocos2d-x的AssetsManager分析
- [COCOS2D-X]AssetsManager
- [COCOS2D-X]AssetsManager
- COCOS2D-X]AssetsManager
- cocos2d-x使用AssetsManager类实现资源的在线更新
- cocos2d-x使用AssetsManager类实现资源的在线更新
- cocos2d-x AssetsManager libcurl使用心得
- cocos2d-x 2.2 资源更新AssetsManager例子代码
- Cocos2d-x 3.2 自动更新 -- 使用AssetsManager更新游戏资源包
- Cocos2d-x 3.2 自动更新 -- 使用AssetsManager更新游戏资源包
- Cocos2d-x 3.2 自动更新 -- 使用AssetsManager更新游戏资源包
- Cocos2d-x 3.2 自动更新 -- 使用AssetsManager更新游戏资源包
- 【更新】Cocos2d-x使用AssetsManager更新资源和脚本
- Cocos2d-x使用AssetsManager更新资源和脚本
- cocos2d-x的TestCpp分析
- cocos2d-x的定时器分析
- Android下编译cocos2d-x项目报错 ***'AssetsManager.o'. Stop
- 【cocos2d-x 028】 AssetsManager热更失败 "there is not new version"
- Allegro最新资料大全
- Android-sqlite数据库存取图片信息
- 02.IOS学习笔记之C语言概述
- c/c++ 字符 字符串
- 服务器提交了协议冲突. Section=ResponseStatusLine,WebClient使用Cookie
- cocos2d-x的AssetsManager分析
- Objective-C 4封装、继承、多态
- 编程部分---PHP
- 信号量的操作——semop函数
- 快速矩阵幂
- java第十三天_集合,List集合
- windows下信号量的使用
- 黑马程序员_I/O流(递归、配置文件、流的合并拆分)
- 蓝桥杯(填火柴)