Cocos2d-x实现资源热更新详解

前端之家收集整理的这篇文章主要介绍了Cocos2d-x实现资源热更新详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

热更新介绍

什么是热更新?

游戏客户端启动时,主动请求服务端检查版本号,并更新资源到本地。


应用场景:

情况一:游戏客户端已经发布了,但突然发现有个比较严重的bug需要修复。这时需要更新游戏的代码(Lua代码)。

情况二:情人节到了,需要搞个活动,在游戏中营造一个节日氛围。这时,需要更新游戏资源或增加一些功能


好处:
不需要重新打包和提交应用到市场等待审核

热更新流程

在Cocos2d-x中已经封装了用于实现热更新功能的类,就是AssetsManager。

api说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//检测是否有版本更新
virtual bool checkUpdate();
//下载更新的资源包并解压到下载路径
void update();
//获取当前客户端版本号
std::stringgetVersion();
//删除客户端版本号
deleteVersion();
//设置下载回调(AssetsManagerDelegateProtocol)
setDelegate(AssetsManagerDelegateProtocol*delegate);
//设置连接超时时间(单位:秒)
setConnectionTimeout(unsigned int timeout);
//设置从服务端下载资源包的url
setPackageUrl( const char *packageUrl);
//设置服务端获取版本号的url
setVersionFileUrl( *versionFileUrl);
//设置资源保存路径
setStoragePath( *storagePath);

因为AssetsManager使用了pthread库,所以需要在win32工程中需要包含pthread库所在目录。

VS在工程属性——C/C++——常规——附加包含目录中添加:$(ProjectDir)..\..\..\cocos2dx\platform\third_party\win32\pthread

具体链接:http://cn.cocos2d-x.org/tutorial/show?id=2189

猜你在找的Cocos2d-x相关文章