IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 猴面鱼科技:XLua 实现简单的热更新 -> 正文阅读

[游戏开发]猴面鱼科技:XLua 实现简单的热更新

一、XLua 的下载与安装

1、XLua 是由腾讯开发的 C#(Unity,Net,Mono)的 lua 编程解决方案,它支持 Android,IOS,Windows,Linux,osx 等不同环境的开发。

2、可通过 https://github.com/Tencent/xLua 获取最新 XLua 版本。同时也能了解 XLua 相关的教程及 API 文档。后文采用的 XLua 版本为 xlua_2.1.15。

图 1-XLua 官方文档 3、下载后解压压缩包,得到如下文件,即下载完成。

图 2-解压后的文件参考

二、导入 XLua 文件

1、新建 Unity 项目,此处使用的 Unity 版本为 Untiy2019.4.30。

图 3-Unity 版本

2、将上文中解压好的文件中 Assets 目录下的文件放入 Unity 项目中。

图 4-需要放入 Unity 中的文件

3、新建脚本,引入 XLua 的头文件,同时确保导入成功。

3、新建脚本,引入 XLua 的头文件,同时确保导入成功。

4、在脚本中创建 XLua 为 lua 准备的解析器 LuaEnv

5、通过解析器的 API,以字符串的形式去执行 lua 代码

图 9-以字符串的形式执行 lua 代码

6、释放解析器所占用内存空间

图 10-释放解析器所占内存

7、将脚本挂载后,运行测试能够正常执行 lua 代码

图 11-测试执行结果

三、修改 XLua 默认的文件请求路径

1、编写一个简单的 lua 脚本

图 12-经典脚本

2、在 C#脚本中,通过请求文件的方式去请求 lua 脚本文件

图 13-调用系统内置的加载器

3、通过报错检测出 XLua 默认的 lua 脚本请求路径

图 14-报错提示

4、通过写出自定义的加载器去修改加载路径,以此来确保 lua 脚本不用放在 Assets 目录下,避免在打包时被一起打包。

图 15-自定义路径

5、将自定义的加载器添加到 lua 的解析器中,自定义的加载器会在系统内置的加载器之前执行。

图 16-添加自定义加载器

6、将 lua 脚本放到提前规划好的路径下

图 17-自定义的路径

7、运行测试

图 18-测试输出

四、搭建属于自己的 Xlua 环境

1、使用单例模式确保调用 Xlua 的工具类在整个项目中的唯一性,同时在构造函 数中创建 lua 解析器。

图 19-懒汉模式

2、为 Xlua 添加自定义路径的加载器

图 20-自定义加载器

3、完成请求 lua 文件的函数和释放内存空间的函数

图 21-执行与释放函数

4、设置一个属性用于读取 lua 中的全局变量

图 22-使用属性以控制只读

五、结语

到此为止,已经准备好在项目中加载我们在项目外部准备的 lua 脚本了,之 后通过单例模式调用相应的函数即可实现简单的热更新了。欢迎各位大佬在评论 区指正和交流。

原文转载自:XLua 实现简单的热更新 - 热点技术

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章           查看所有文章
加:2022-06-25 18:24:12  更:2022-06-25 18:24:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:28:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码