今天我们来一起来说说热更新,谈起热更新,大家都觉得很难,都去找官方的热更新的解决方案,然后对着一步一步搞,原理还是不懂, 今天小编就带你来完整的讲解一下热更新的原理,搞懂原理,做热更新可以自己做,也可以自己修改,比如大厅与子游戏的模式。这个原理经过测试,可以适用js, Lua等多种脚本语言。

1: 热更新准备活动

H5游戏不需要热更新,因为本身就是从服务器下载的,而只有Native开发里面需要热更新。

运行时动态加载的语言脚本才可以实现热更新,例如,js , Lua等;

每个native 的app都有一个写的目录,可以用来放资源和代码; 这个cocos creator fileUtils都有对应的接口;

每个脚本语言都有一个searchPath,运行时根据搜索路径到这些路径下来装载文件。fileUtils 也有searchPath, 资源文件加载的时候,也是从searchPath里面的路径开始寻找资源。

2: 增量下载系统:

增量指的是客户端版本与服务器版本有差异的内容,每次更新,只更新客户端与服务器的差异,来节省流量和下载时间,所以我们做增量下载系统的时候,资源包(代码+资源)要做类似的设计:

(1) 资源列表, 记录了版本号, 记录了这个版本每个文件的一些信息,路径, MD5值,等信息;

(2) 完整的资源包;

第一次打包客户端的时候,也会带上这个当前客户端的包的资源列表。

客户端增量更新逻辑: 客户端先读取客户端当前最新资源列表(先到下载路径下找,再到包里找), 找到后和服务器上的比对, 根据md5值和客户端列表里缺的文件,得到一个下载更新列表, 然后根据更新列表来从服务器下载文件。最后将服务器的资源列表更新到本地,下次启动就不用再更新了。附上资源列表的结构截图:

3: 使用最新源码和资源:

在启动脚本的时候,添加搜索路径,把热更新下载的路径,添加到前面,这样,系统搜索资源的时候,都从下载路径开始搜索,

这样你更新的数据和文件就被优先加载进来,实现到热更新,附上启动脚本的修改截图:

我也创建了个学习交流群 点击下面链接即可加入

正在跳转​links.jianshu.com

热更新_热更新必懂3件事相关推荐

  1. 游戏开发热更新必懂3件事

    今天我们来一起来说说热更新,谈起热更新,大家都觉得很难,都去找官方的热更新的解决方案,然后对着一步一步搞,原理还是不懂, 今天小编就带你来完整的讲解一下热更新的原理,搞懂原理,做热更新可以自己做,也可 ...

  2. 国内投资者投资港股的四种方法和港股必知25件事

    国内投资者投资港股的四种方法和港股必知25件事 2015年04月09日 07:41 来源:凤凰财经 class="miniseebox js_weixin_iframe" fram ...

  3. Kali安装之后必做20件事

    Kali安装之后必做20件事 第二版 原文地址: http://blog.niuti.org/post/380915_5a5b269# 一,更换比较快的软件源 修改sources.list文件(su) ...

  4. 35岁前必做10件事 让你少奋斗8年挣足钱

    35岁前必做10件事 让你少奋斗8年挣足钱(转)中财网 (2010-03-27 16:04:01) 转载 标签: 就业 求职 乘数 钱经 李彦宏 美国 杂谈 分类:转载 男人.女人都要过三十五岁这堵墙 ...

  5. 淘宝运营 淘宝运营必做五件事 淘宝运营的工作方向

    做为一名合格的淘宝运营工作者,每天需要做些什么呢,我们这边就来分析一下. 淘宝运营每日必做5件事: 1.跟踪店铺数据 数据是运营的方向,那我们需要看那些数据呢?店铺方面:浏览量.访客数.店铺收藏量.拍 ...

  6. 必读!速卖通欧盟VAT税改政策解读!必做6件事!

    欧盟VAT税改必做6件事! (1)及时获取IOSS号码 (2)ERP发货确保完成税改升级 (3)执行税改最新发货规则 (4)海外仓商家注册提交VAT信息 (5)海外仓商家定期税务申报 (6)合理维护售 ...

  7. java产品经理_产品经理必懂的技术那点事儿:成为全栈产品经理

    资料目录: 1    产品思维与技术思维  1 1.1  产品经理为什么要懂技术  1 1.2  产品经理和工程师分别是干什么的  3 1.3  产品设计中需要注意的技术边界  5 1.4  工程师的 ...

  8. win7更新_不更新,抱歉现在才告诉你,win10还有个LTSC版,比win7还干净

    windows10电脑系统,三天两头更新,这是给所有用户最深刻的印象,尤其那些遭遇强制重启更新,导致资料丢失的用户,估计那时内心,是有十万头羊驼奔腾过的. win10系统由于基层架构发生了全新的变化, ...

  9. 怎样防止苹果系统更新_苹果更新IOS13.3系统步骤

    哈喽大家好!我是数码控g,一位90后热爱手机,喜欢修机的维修师傅,今天苹果更新13.3正式版,让我们来一起更新一下. 首先手机更新系统有两种方法 第一种:用手机更新,首先打开设置,通用,软件更新进行更 ...

最新文章

  1. canvas刮奖效果
  2. 让该死的恶意软件去死吧!!!!!!!
  3. mac搭建nginx+rtmp直播流
  4. 现代软件工程 作业 个人项目
  5. linux端口爆破软件,Linux网络安全:端口扫描软件 nmap
  6. error_reporting()函数
  7. 计算机等级报考备注填什么用,计算机二级有什么用
  8. 不要再被Python洗脑了!!
  9. 1.MySql驱动的jar包下载
  10. 2021年皓丽新品- 86KD1 86寸纳米智慧黑板(电容屏)-产品说明
  11. 多元统计分析基于r课后答案_应用多元统计分析课后答案.doc
  12. JAVA生成纯色背景图-自定义大小-自定义颜色
  13. 深度解读:阿里云视频直播功能升级
  14. Java项目:ssm+jsp实现手机WAP版外卖订餐系统
  15. win10安装docker导致virtualbox无法启动问题解决
  16. 【win10专业版】新建账户激活 Office 2019
  17. 黑马程序员都到兄弟连兄弟会报名去了
  18. Lua Single--Method 的对象实现方法(面向对象程序设计)
  19. 【学习笔记】Python语言程序设计 北理工-嵩天
  20. 手机照片怎么压缩到200k?思路提供

热门文章

  1. Android之SurfaceView学习(一)
  2. 2 环境设置_VS Code 虚拟环境设置
  3. python中xlrd.open_workbook_python解决open()函数、xlrd.open_workbook()函数文件名包含中文,sheet名包含中文报错的问题...
  4. load average多少是正常_对 cpu 与 load 的理解及线上问题处理思路解读
  5. [转]CentOS6.4下Mysql数据库的安装与配置
  6. mosquitto源码分析(四)
  7. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题
  8. 创建数据库_详解Oracle数据库物化视图及创建物化视图索引
  9. UE4 Slate Architecture
  10. 操作系统内存管理、Cache调度策略学习