基于cocos3.16 & quick 3.6.5的热更新方案

cocos 官方提供的热更新方案还是比较完善了,该有的工具都有,搞懂各个模块如何调用,就能够方便快捷得实现lua热更

主要搞清楚如下几个问题

1. AssertManagerEx 框架

具体的下载逻辑和更新流程(见大图)

2. 如果用脚本生成资源表

GenHotUpdate.py

version_info.json

3. 如何通过脚本预编并且打包lua脚本

(1) 分拆代码framework (cocos层)、base(底层支持) 、 game(业务层)

(2) 加密并且生成zip包

(3) LuaLoadChunksFromZIP 用法

4. 通过ftp工具自动上传到服务器

TODO 额外优化点:

1. 如果区分强制更新和非强制更新

2. 游戏进行时更新

最后附上AssetManagerEx的流程图,少年们,只能帮你到这了!

热更新修复流程

注意,在读取配置时候,有热更资源,应该有限使用热更新的资源。 如果热更新版本滞后了,那么在启动流程中就会被删除

string CUpdateCfg::GetHotFile(string filename)
{
    string hotFile = StringUtils::format("%s/%s",
                                         UPDATE_CFG->GetDownloadMF().c_str(), filename.c_str());
    replace_all_distinct(hotFile, "//", "/");
    replace_all_distinct(hotFile, "//", "/");
    return hotFile;
}
    string hotFile = CUpdateCfg::GetHotFile(idx_fl);
    bool isFindfile = FUTL_CHECK_EXIST(hotFile);
    if(!isFindfile)
        hotFile = idx_fl;
    CLRData data = FUTL->getDataFromFile(hotFile);

参考文献

http://www.cocos2d-lua.org/doc/hotupdate/index.md

https://my.oschina.net/SunLightJuly/blog/180639

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值