想要使用热更新技术,需要规划设计好资源比较策略,资源版本,确保增加新资源后可以下载到本地,有资源更新的时候可以替换掉本地旧资源。
先介绍热更新步骤,后上代码 步骤一、在Resources目录下新建一个文本,名称是bundle_list(后缀是.txt),内容如下: {"id":0,"version":"1.0","manifest":"android","resource":{}},当然您可以根据自己项目 实际情况来设计json格式。资源服务器上也会有一份格式相同的bundle_list 步骤二、如果是第一次进入游戏,Application.persistentDataPath目录下还没有bundle_list文件,这 时候就需要用Resources.Load方法从Resources目录中加载出来。否则 加载Application.persistentDataPath目录下的bundle_list 步骤三、从资源服务器下载bundle_list文件 步骤四、获取本地bundle_list的id和资源服务器下载的bundle_list中的id,做对比,如果前者等于后者, 则不需要更新,如果前者小于后者,则需要更新。 步骤五、分别解析出本地和资源服务器bundle_list中的资源路径名称,名称相同的,对比hash值,相同 则不需要更新,反之,更新。如果资源服务器有的名称本地没有,则表示是新增资源,需要 下载到本地。 步骤六、把资源服务器的bundle_list覆盖本地bundle_list。热更新完成。
代码:
|