找回密码
 立即注册
查看: 292|回复: 0

Xlua 踩坑笔记(一 ) Xlua的创建和读取

[复制链接]
发表于 2021-8-15 10:37 | 显示全部楼层 |阅读模式
本人原来是做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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 12:12 , Processed in 0.088475 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表