
菜鸟学习 - Unity中的热更新 - 更新思路
发布日期:2021-05-04 15:53:10
浏览次数:24
分类:技术文章
本文共 485 字,大约阅读时间需要 1 分钟。
我们游戏对资源的更新并没有使用AssetBundle.
而是采用了下面的解决方案(客户端C# 和服务器 Java的约定 ,传输协议都是json):
第一步:客户端与服务器约定一个版本号。第二步:客户端向服务器发送本地的一个版本号(不同的玩家,本地的版本号的信息肯定也不一样),服务器比对最新的版本号与客户端本地的版本号,过滤出需要更新的文件列表。把最新的版本号和需要更新的文件列表发送给客户端。第三步:客户端下载需要更新的文件列表,直到下载完毕,然后重写本地的版本号。
对脚本的更新也是采用成熟的Ulua方案。
其中最近研究了一下 俊擎网络的 Simple Framework v0.2.7
这个框架很到位。
Lua脚本本身被看作资源处理的, 但是也有特殊性
1.打包时,把游戏中的LUA脚本资源打包成ZIP。2.玩家第一次启动游戏中,解压缩Lua脚本的ZIP文件到本地。(只执行一次,之后更新Lua就和普通资源一样)
开源库:http://icsharpcode.github.io/SharpZipLib/3.在玩家每次启动时,执行上面的【更新资源】的三步。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月12日 16时14分19秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
结构体内存偏移量
2019-03-06
应用程序与dll的静态库通信
2019-03-06
反汇编-流程控制语句-2-循环控制语句分析
2019-03-06
调试vs2019代码的流程
2019-03-06
游戏外挂基础-概述
2019-03-06
脱壳与加壳-加壳-6-代码实现加密导入表
2019-03-06
Typora配置PicGo时,提示Failed to fetch
2019-03-06
ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL
2019-03-06
SQL优化 MySQL版 -分析explain SQL执行计划与笛卡尔积
2019-03-06
python的map函数
2019-03-06
bcolz的新操作
2019-03-06
Linux的s、t、i、a权限(转)
2019-03-06
zmq的send
2019-03-06
C++中的delete加深认识
2019-03-06
windows消息机制(转)
2019-03-06
STL笔试面试题总结(干货)(转)
2019-03-06
XML 和 HTML 之间的差异
2019-03-06
qt中moc的作用
2019-03-06