学习过程,记录一下

文章目录

目录

文章目录

GF中的热更新步骤

具体操作

检查资源

1.打包设置

2.检查包是否可以运行

3.构建更新资源

4.打包新资源

5.上传资源到服务器

6.制作version.txt

7.修改BuildInfo.txt

8.设置更新模式



GF中的热更新步骤

/** 一套完整的更新流程如下*  ProcedureCheckVersion -> ProcedureUpdateVersion -> ProcedureVerifyResources -> ProcedureCheckResources -> ProcedureUpdateResouces*  检查版本流程          -> 更新版本流程           -> 验证资源流程             -> 检查资源流程            -> 更新资源流程 */

具体操作

检查资源

首先在菜单栏中打开 Game Framework/Reources Tools/ Resources Editor,打开后如图所示,这里检查没有问题后点击 Save,如果点击了Clean,这里的数据就会被清理掉,就需要重新构建AB包。如果不小心点击了Clean,只需要复制一个原来的ResourceCollection.xml替换已有的ResourceCollection.xml即可(ResourceCollection.xml的地址在Assets/GameMain/Configs/ResourceCollection.xml

1.打包设置

确定上面资源的没有问题之后,就可进行打包啦,在菜单栏中打开 Game Framework/Reources Tools/Resources Bulider, 然后设置一下打包的平台(Platforms)、压缩格式(Compression),以及构建(Build)。

这里我已经打过两次包了所以Internal Resource Version 后面数字的是3,如果是第一次打包,直接填1就行,其次在Output Path中选择你要保存的AB包的位置A,记好这个位置A。然后打包就行。


2.检查包是否可以运行

打包之后,会在StreamAssets中生成AB包,如下图所示(如果没有就去上文提到位置A中的Package\0_1_0_1\Windows,将下面打包好的AB包复制到StreamingAssets文件夹下)。

然后我们在初始场景StarForce Launcher中点击Game Framework/BuiltinEditor Resource Mode关闭

之后我们打开GameFramework/BuiltIn/ResourceResources Mode 改为Package

之后我们点击运行看看效果,如果AB包没有问题的话,游戏是可以正常游玩的,如果提示加载有问题,就需要在Resource Editor中删除对应的AB包然后重新打一下这个AB包。


3.构建更新资源

打开Resource Editor 将需要替换的资源替换一下这里我替换了一个音乐文件,注意:替换的文件应该和老文件名字保持一致,这里我将新的背景音乐文件改名为music_menu,旧的背景音乐文件改名为music_menu_old,然后我们点击save按钮即可。

4.打包新资源

和打包设置一样,直接打包即可,需要注意的是,新生成的包会在StreamingAssets中也生成一份,这时,我们只需要去上文提到的位置A文件下面的\Package\0_1_0_1\Windows 复制旧的资源替换streamingAssets中新的资源即可。

这里我我打包了两次所以有两个文件夹


5.上传资源到服务器

下载HFS作为服务器HFS ~ HTTP File Server (rejetto.com)http://www.rejetto.com/hfs/?f=dl

打开后右键 Add folder from disk,

选择上文位置A文件夹下的Full文件夹你要上传的资源文件夹,我的旧版本资源是1,这里我上传新的资源上去。确定后选择第二个virtual folder 即可。


6.制作version.txt

打开位置A下的BuildReport新版本的文件夹下的BuildLog.txt

查看其中的这几条信息 

建立一个version.txt文本文档,复制如下Json,保存后,将其放入服务器中

    //使用时 删除所有的注释
{//强制更新"ForceUpdateGame": false,//最新游戏版本"LatestGameVersion": "0.1.0",//内部游戏版本"InternalGameVersion": 1,//内部资源版本"InternalResourceVersion": 2,//服务器地址"UpdatePrefixUri": "http://192.168.1.103/Windows/",//以下四条复制上图中框选的4条数据即可"VersionListLength": 7160,"VersionListHashCode": 50591482,"VersionListCompressedLength": 2629,"VersionListCompressedHashCode": -1495585754
}


7.修改BuildInfo.txt

修改BuildInfo.txt如下,保存即可

{"GameVersion": "0.1.0","InternalGameVersion": 0,"CheckVersionUrl": "http://192.168.1.103/version.txt","WindowsAppUrl": "https://starforce.gameframework.cn","MacOSAppUrl": "https://starforce.gameframework.cn","IOSAppUrl": "https://starforce.gameframework.cn","AndroidAppUrl": "https://starforce.gameframework.cn","END_OF_JSON": ""
}

8.设置更新模式

打开GameFramework/Builtin/ResourceResource Mode 改为Updatale 保存,运行游戏

游戏会进行热更新。

StarForce热更新资源学习记录相关推荐

  1. php对接小鹅通API开发高级实战案例解析:获取指定资源学习记录信息(单人单学习记录、单人多学习记录累计、返回数据格式确认)

    获取指定资源学习记录信息 前言 一.获取指定资源学习记录信息请求方式及url 二.获取指定资源学习记录信息请求参数 请求参数 请求格式 三.单人单学习记录API封装函数 四.单人多学习记录API封装函 ...

  2. Cocos Creator 解决热更新资源md5比较引发卡顿问题

    大家在使用Cococ Creator提供的热更新 assetsManagers ,做md5校验的时候,一定会遇到卡顿的问题. 备注:文末有完整实现源码 原因是 Cococ Creator 官方提供的热 ...

  3. 修改html时webpack热更新,webpack学习之路(二)webpack-dev-server实现热更新

    上一章对webpack的配置有了简单的认识. 这一章,我需要学习的是webpack热更新,因为在开发过程中,不希望当文件更改时,人肉去编译文件,刷新浏览器. webpack热更新 webpack-de ...

  4. iOS代码质量要求_Unity移动端代码热更新技术学习总结

    为什么需要热更新 游戏总是伴随着不断的开发与维护,我们不能要求玩家每次都将游戏客户端卸载重装,所以需要热更新技术来在不需要重装客户端的情况下下载更新游戏里的代码(其实资源也需要热更新,但是因为操作系统 ...

  5. Unity热更新技术学习——AssetsBundle详解

    文章目录 热更新 AssetsBundle Resources AssetsBundle 存储目录 目录实例 构建AssetsBundle 清单文件 AB包 AssetBundle依赖 AssetBu ...

  6. vite无法热更新的原因记录

    页面也没报错,控制台有几个告警,也没注意,然后发现vite不热更新了,后来排查发现,原来是路由问题. import { createRouter, createWebHashHistory } fro ...

  7. XLua热更新框架学习(二)

    欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 原工程地址:https://download.csdn.net/download/qq_37310110/11812518 之 ...

  8. XLua热更新框架学习(一)

    欢迎加入Unity业内qq交流群:956187480 qq扫描二维码加群 Xlua源码地址:https://github.com/Tencent/xLua Xlua热更其实是补丁式的热更,跟其他的方式 ...

  9. 窗体 局部变量转换为全局_Unity 热更新解决方案 学习笔记(12)Lua 全局变量和局部变量...

    笔者只是一位刚大三的学生本文章仅为学习笔记,非专业教程,仅供参考和学习交流!!! 如有错误或更好的方案欢迎指出和探讨!!! 全局变量 顾名思义,其生命有效期是全局的,整个lua文件中都可以使用,可以在 ...

最新文章

  1. 锐捷交换机清除mac-address-table(mac地址表)
  2. 谈谈自动微分(Automatic Differentiation)
  3. 【GIT】使用Git命令窗口将本地工程提交至远程GitHub
  4. 纯CSS实现锚点跳转位置上下偏移的办法
  5. Oracle-11g 基于 NBU 的 rman 冷备份及恢复
  6. 设计模式之策略模式学习
  7. CODING 最佳实践:快课网研发效能提升之路 1
  8. Android 权限大全
  9. ROS World 2020所有视频发布
  10. android expandablelistview横向,Android 的ExpandableListView使用总结--二级展开树结构
  11. 2021年上海市汽车上牌量及分布:上牌量增长18%,新能源小客车占39%[图]
  12. 汽车行业(车厂)常见英文缩写及其中文含义(不断完善中)
  13. vue项目打包 发现首页打不开或空白页面
  14. 密钥管理系统研究(一)
  15. 十进制与二进制转换(负数+正数)
  16. echarts-wordcloud 热词云使用
  17. APICloud介绍
  18. 小白如何自学编程? 看完这篇这些雷和坑千万不要踩!
  19. cpu是计算机硬件中的,电脑硬件CPU介绍
  20. Android 之 向模拟器的sdcard中添加文件

热门文章

  1. Mac的下划线如何打出来?
  2. win10家庭版安装sqlserver2000
  3. 解释型语言和编译型语言的概述及其执行过程
  4. 【最全笔记】基础Python爬虫入门全笔记
  5. 微前端-qiankun
  6. C中一道关于内存的思考题
  7. React Native集成CodePush热更新
  8. 《基因传》的阅读读后感作文3100字
  9. 如何解决div里面img图片下方有空白的问题?(实用、赞)
  10. c语言解析toml文件,使用cpptoml 读取 TOML 格式配置文件