目录
- 一.热更新介绍
- 1.1何为热更新?
- 1.2热更新存在的价值
- 二.Lua语言介绍
- 2.1Lua简单介绍
- 2.2Lua语言与C#语言交互
- 2.3AssetBundle
- 2.4ULua和XLua热更新框架
- 三.Lua开发环境安装与细节配置
- 3.1LuaForWindows介绍
- 3.2LuaForWindows安装
- 3.3LuaForWindows测试
- 3.4LuaForWindows配置
一、热更新介绍
1.1何为热更新?
简单来说,热更新就是指可以在不关闭游戏客户端的情况下,动态的更新游戏本身的资源。
1.2热更新存在的价值
现在硬件性能越来越高,手机端网络游戏的体积也越来越大;如果没有热更新,那么意味着每次游戏客户端更新,都要重新下载完整的APK包进行安装,这就有点恐怖了;但若有了热更新,那么只需要在客户端启动的时候,检查服务器有无新资源,如果有,就下载下来,进行资源的更新,这样每次客户端更新只要下载几MB或几百KB就够了。
二、Lua语言介绍
2.1Lua简单介绍
Lua与C#对比来看,C#是编译型语言,Lua是解释型语言。即C#程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了;而Lua代码不需要提前编译,是在运行时由解释器动态地逐条解析Lua语句代码,然后执行。
Lua语言是不可以单独完成一个项目的开发的,Lua语言出现的目的是“嵌入式”,为其它语言开发出来的项目进行功能的扩展和补丁的更新。
2.2Lua语言与C#语言交互
Unity项目是使用C#开发的,后续热跟新的功能需要使用Lua语言来实现。
因此我们最开始使用C#开发项目的时候,需要预留和Lua代码的“交互接口”,这就涉及到两门语言的代码的相互调用和访问。
2.3AssetBundle
AssetBundle是Unity内资源的一种打包格式,和电脑上的 rar , zip 压缩比较相似,客户端热更新的过程中,从服务器下载下来的资源,都是AssetBundle打包过的资源。
2.4ULua和XLua热更新框架
ULua和XLua是两个热更新框架,专门用于Unity客户端项目热更新开发。
其实就是两个“资源包”,可以导入到项目中去,在框架的基础上,完成项目需要的热更新逻辑。
三、Lua开发环境安装与细节配置
3.1LuaForWindows介绍
LuaForWindows是一款用于编写Lua语言的IDE(集成开发环境),主要包含两个部分:
- Lua语言核心类库和解析器
- 开源代码编辑器SciTE
3.2LuaForWindows安装
若LuaForWindows.exe安装失败,请先安装vcredist_x86.exe。
- LuaForWindows下载地址:http://files.luaforge.net/releases/luaforwindows/luaforwindows
- vcredist_x86下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=3387
- 一键下载:https://download.csdn.net/download/leexxs/10573515
3.3LuaForWindows测试
- 新建一个文件
- 写入一行代码:print("good good study,day day up")
- 存储为一个后缀为 .lua 的文件
- 运行功能,结果如下
在 SciTE 中,空白文件不可存储,未存储文件不可执行。
3.4LuaForWindows配置
SciTE中默认字号很小,可以通过Ctrl + 鼠标滚轮滚动,快速调整代码字体大小,但这种设置不会被保存,软件重启后还原。
点击【Options】菜单中的【Open Global Options File】,则可以看到SciTE环境的全局配置文件。里面可以修改的包括字体,颜色,窗口布局等等,修改相应的值即可(修改SciTE配置文件时,需要以管理员的身份运行)。
如第10行代码可修改字体字号,font.base=font:xxxxxx Console,size:xx 修改为:font.base=font:Consolas,Console,size:14
若找不到自己想要修改的项目,可以再到【Options】的【Open black.properties】(如果使用的是白色背景,这里则是white.properties)文件中查找,这里存储的是更加细致的属性配置。修改这两个文件,基本上就能够满足大部分学习或是开发者的个人喜好。