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

Cocos2d-x实现资源热更新详解,第1张

概述热更新介绍 什么是热更新? 游戏客户端启动时,主动请求服务端检查版本号,并更新资源到本地。 应用场景: 情况一:游戏客户端已经发布了,但突然发现有个比较严重的bug需要修复。这时需要更新游戏的代码(Lua代码)。 情况二:情人节到了,需要搞个活动,在游戏中营造一个节日氛围。这时,需要更新游戏资源或增加一些功能。 好处: 不需要重新打包和提交应用到市场等待审核。 热更新流程 在Cocos2d-x中已

热更新介绍

什么是热更新?

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


应用场景:

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

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


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

热更新流程

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

API说明:

@H_301_47@ 1 @H_301_47@ 2 @H_301_47@ 3 @H_301_47@ 4 @H_301_47@ 5 @H_301_47@ 6 @H_301_47@ 7 @H_301_47@ 8 @H_301_47@ 9 @H_301_47@ 10 @H_301_47@ 11 @H_301_47@ 12 @H_301_47@ 13 @H_301_47@ 14 @H_301_47@ 15 @H_301_47@ 16 @H_301_47@ 17 @H_301_47@ 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实现资源热更新详解全部内容,希望文章能够帮你解决Cocos2d-x实现资源热更新详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1081121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存