|
本人原来是做VR的,发现时间长了是真的坑人,VR太简单了,离职后找工作太难了,好多都不会,离职后才有时间研究这个,抽时间把坑位介绍给初学lua的朋友
具体的Xlua下载大家可以去Git开源上面下载,相信有编程基础的同学,这点事还不大 具体只讲究Xlua的使用
大家下载Xlua包导入工程后可以在XLua --Examples文件夹下面看到演示案例,还可以在XLua--Doc文件夹下面有文档介绍
话不多说:先来测试 下面包含了unity读取Lua文件 和Lua文件中保持和unity一样的生命周期
如果运行不起来 请大家把注释全部去掉 包含空格
IDE的话NotePad++ Visual Studio Code 也可以。个人使用后者
大家在学习的时候可以搭配LUA菜鸟教程去看语法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
using XLua; //引入XLua
using UnityEngine.UI;
public class CreatBuldes : MonoBehaviour
{
//官方介绍多中lua解析方式 再次只介绍一种
LuaEnv lua; //声明Lua
LuaFunction update; //创建Lua方法 LuaFunction为固定写法 用来接收Lua文件中的方法
LuaFunction start;
LuaFunction onenable;
// Start is called before the first frame update
void Start()
{
lua = new LuaEnv(); //创建Lua虚拟机
lua.DoString("require'Ready'"); //读取Lua文件
/在此多说两句 Ready文本是以.lua结尾 格式为Txt,并且在Resources文件下面 缺一不可
//因为Lua出错对不熟悉的同学来说特别难找 所以在一开始写的时候注意细节
//获取lua文件中a,b,c 三个变量 分别为Int,String,Bool格式
int a = lua.Global.Get<int>("a");
string b = lua.Global.Get<string>("b");
bool c = lua.Global.Get<bool>("c");
print(a);
print(b);
print(c);
//接受Lua文件中的方法
update = lua.Global.Get<LuaFunction>("Update");
start = lua.Global.Get<LuaFunction>("start");
//运行该方法
start.Call();
}
// Update is called once per frame
void Update()
{
//同理Start
update.Call();
}
}
可以接受方法和变量以后大家使用应该就没什么难度了
下面附上Xlua代码
a = 10;
b = "String格式"
c = true
function start()
print("This is LUA Satrt 方法")
end
function Update()
print("This is LUA Update方法")
end
第一坑我感觉就是大家注意Lua脚本的保存和存储位置
Lua定义方法还有另外一种写法 根据个人习惯使用上面的方法书写格式
enable = function()
print("enable");
end |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|