一、热更新学习介绍
1、什么是热更新
举例来说: 游戏上线后,玩家下载第一个版本(70M左右或者更大),在运营的过程中,如果需要更换UI显示,或者修改游戏的逻辑,这个时候,如果不使用热更新,就需要重新打包,然后让玩家重新下载(浪费流量和时间,体验不好)。 热更新可以在不重新下载客户端的情况下,更新游戏的内容。 热更新一般应用在手机网游上。
2、为什么C#脚本不可以直接更新
C#是一门编程语言,它运行之前需要进行编译,而这个编译的过程在移动平台无法完成,所以当我们游戏的逻辑更改,C#代码发生改变的时候,我们就需要重新在开发环境下编译,然后重新打包,然后让玩家去下载更新最新的版本。 这个体验差:包下载需要的时间长,而且很多资源没有更新,也需要重新下载,浪费流量。
3、热更新有哪些实现方式?
1、使用Lua脚本编写游戏的UI或者其他的逻辑 Lua是一个精悍小巧的脚本语言,可以跨平台运行解析,而且不需要编译的过程 2、使用C#Light
3、使用C#反射技术
二、关于AssetBundle
1、什么是AssetBundle
Unity提供了一个资源更新技术,就是通过AssetBundle,我们可以通过AssetBundle更新游戏UI,也可以把脚本或者其他代码当成资源打包成AssetBundle然后更新到客户端。 在所有的热更新技术中都需要AssetBundle。
三、如何利用Lua进行热更新
1、Unity提供了一个资源更新技术,就是通过AssetBundle,我们可以通过AssetBundle更新游戏UI,也可以把脚本或者其他代码当成资源打包成AssetBundle然后更新到客户端。 在所有的热更新技术中都需要AssetBundle
2、在移动端可以编写Lua的解析器,通过这个解析器,可以运行最新的Lua脚本,然后我们把控制游戏逻辑的代码都写成Lua脚本。
四、如何利用Lua进行热更新
1、Lua的解析技术有哪些?
1,uLua 骏擎【CP】 ulua.org
2,Nlua unity支持Riley G nlua.org
3,UniLua 阿楠同学
4,sLua
五、如何学习热更新技术
1,学习Lua编程
2,学习通过LuaInterface和luanet进行Lua和C#的交互通信
3,学习使用AssetBundle进行资源更新
4,学习uLua SimpleFramework 利用us创建自己的热更新游戏