Atitit 热更新资源管理器 自动更新管理器 功能设计
Atitit 热更新资源管理器 自动更新管理器 功能设计
· 多线程并行下载支持
· 两层进度统计信息:文件级以及字节级
· Zip压缩文件支持
· 断点续传
· 详细的错误报告
· 文件下载失败重试支持
##资源管理器的使用
实际上,使用资源管理器的使用相当简单,首先,你的应用包中将需要一个JSON格式的初始的配置文件(manifest)。
在这个配置文件中,你需要提供服务器上的对应配置文件地址,当前资源版本和一组资源描述,然后你就可以在游戏代码中使用jsb.AssetsManager的API来检查或更新对应资源的最新版本。
###配置文件
下面是配置文件的一个简单示例:
{
"packageUrl" : "http://example.com/assets_manager/TestScene/",
"remoteVersionUrl" : "http://example.com/assets_manager/TestScene/version.manifest",
"remoteManifestUrl" : "http://example.com/assets_manager/TestScene/project.manifest",
"version" : "1.0.0",
"engineVersion" : "Cocos2d-JS v3.0 RC0",
"assets" : {
"Images/background.jpg" : {
"md5" : "..."
},
· packageUrl : 远程资源的下载根路径。
· remoteVersionUrl : 远程版本文件的路径,用来判断服务器端是否有新版本的资源。
· remoteManifestUrl : 远程配置文件的路径,包含版本信息以及所有资源信息。
· version : 配置文件对应的版本。
· engineVersion : 配置文件对应的引擎版本。
· assets : 所有资源信息。
· key : 键代表资源的相对路径(相对于packageUrl)。
· md5 : md5值代表资源文件的版本信息。
· compressed : [可选项] 如果值为true,文件被下载后会自动被解压,目前仅支持zip压缩格式。
· searchPaths : 需要添加到cocos2d引擎中的搜索路径列表。
版本文件version.manifest文件应该包含与配置文件完全相同的前五项信息。这个文件是可选的,如果它未被找到或成功失败,资源管理器会自动下载完整的配置文件。但是当配置文件包含很多资源非常庞大的时候,版本文件将极大缩短版本比较的时间。
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitit 热更新资源管理器 自动更新管理器 功能设计的更多相关文章
- ios开发 数据库版本迁移手动更新迭代和自动更新迭代
数据库版本迁移顾名思义就是在原有的数据库中更新数据库,数据库中的数据保持不变对表的增.删.该.查. 数据持久化存储: plist文件(属性列表) preference(偏好设置) NSKeyedArc ...
- ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(二)
由于大家都热衷于对ios开发数据库版本迁移手动更新迭代和自动更新迭代艺术(一)的浏览下面我分享下我的源文件git仓库: 用法(这边我是对缓存的一些操作不需要可以省去):https://github.c ...
- 使用@contextmanager装饰器实现上下文管理器
通常来说,实现上下文管理器,需要编写一个带有__enter__和 __exit__的类,类似这样: class ListTransaction: def __init__(self, orig_lis ...
- 创建序列化器,序列化管理器,closureSerializer
创建序列化器,序列化管理器,closureSerializer //通过反射创建序列化对象 // Create an instance of the class with the given name ...
- 订单业务楼层化 view管理器和model管理器进行了model和view的全面封装处理 三端不得不在每个业务入口上线时约定好降级开关,于是代码中充满了各种各样的降级开关字段
京东APP订单业务楼层化技术实践解密 原创 杜丹 留成 博侃 京东零售技术 2020-09-29 https://mp.weixin.qq.com/s/2oExMjh70Kyveiwh8wOBVA 用 ...
- centos7更新、更新、每天更新、每天自动更新
每一天我们的系统时时刻刻都被凶狠之徒盯着,保持软件在最新的状态是其中一项我们必须做,也很容易做到的工作. 首先我们立即手动更新所有预先安装的软件: yum -y update 跟着设定系统定时自动更新 ...
- Windows包管理器——Scoop 包管理器
Scoop 包管理器 目录 Scoop 包管理器 参考 官方 博客 声明 目录 scoop 安装&&卸载 安装( 使用 powershell) 卸载(软件的使用权归自己所有,一言不合即 ...
- [转]Hibernate设置时间戳的默认值和更新时间的自动更新
原文地址:http://blog.csdn.net/sushengmiyan/article/details/50360451 Generated and default property value ...
- Hibernate设置时间戳的默认值和更新时间的自动更新
Generated and default property values 生成的和默认的属性值 The database sometimes generates a property value, ...
随机推荐
- java swing 去掉按钮文字周围的焦点框
闲来无事,写了个swing界面,运行后看到当点击按钮时,中间文字会出现一个刚好把文字围住的小方框,这是按钮获得焦点的标志,我是觉得一个字:丑!怎么去掉呢?万能的度娘告诉我,设置下button的setF ...
- 进阶——scrapy登录豆瓣解决cookie传递问题并爬取用户参加过的同城活动©seven_clear
最近在用scrapy重写以前的爬虫,由于豆瓣的某些信息要登录后才有权限查看,故要实现登录功能.豆瓣登录偶尔需要输入验证码,这个在以前写的爬虫里解决了验证码的问题,所以只要搞清楚scrapy怎么提交表单 ...
- CentOS访问Windows共享文件夹的方法
CentOS访问Windows共享文件夹的方法 1 在地址栏中输入下面内容: smb://Windows IP/Share folder name,smb为Server Message Block协议 ...
- 看来System.dll是没法剔除依赖了
今天花了半天时间将System.Xml换成了Mono.Xml 想干掉System.dll发现不行了,System.Net以及System.IO都在这下面,还有protobuf-net也逃不掉这个 算啦 ...
- [Java基础]java中this和super
一.this关键字 1.this概念 (参考:http://www.cnblogs.com/xdp-gacl/p/3636071.html) this是一个引用,它指向自身的这个对象,它的内存分析 ...
- 如何在两个activity之间传递bitmap
1.需求 在项目开发过程中,打印小票前需要添加打印预览功能,交易数据在打印前转成bitmap然后直接打印,为了显示这个bitmap需要将其传给显示activity. 2.解决方法 把bitmap存储为 ...
- easyUI 的tree 修改节点,sql递归查询
1.easyUI 的tree 修改节点: 我需要:切换语言状态,英文下, 修改根节点文本,显示英文. 操作位置:在tree的显示 $('#tree').tree(),onLoadSuccess事件方法 ...
- WP7系统托盘和应用程序栏
(一)系统托盘和应用程序栏系统托盘(1)显示系统级别的状态信息(2)Apps能隐藏和显示系统托盘Micosoft.Phone.Shell.SystemTray.IsVisible=true;应用程序栏 ...
- unity渲染层级关系小结(转存)
最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来. Unity中的渲染顺序自上而下大致分为三层. 最高层为Camera层,可 ...
- iOS图片加载框架-SDWebImage解读
在iOS的图片加载框架中,SDWebImage可谓是占据大半壁江山.它支持从网络中下载且缓存图片,并设置图片到对应的UIImageView控件或者UIButton控件.在项目中使用SDWebImage ...