编程语言
首页 > 编程语言> > XLua学习笔记_C#访问Lua的全局变量

XLua学习笔记_C#访问Lua的全局变量

作者:互联网

一、访问boolean、number、string 类型的全局变量

1.在“Resources”目录下,新建一个名字为 “CSharpCallLua.lua.txt” 的lua脚本

2.在 “CSharpCallLua.lua.txt” 脚本中定义我们需要访问的数据类型(代码如下)

--测试C#访问lua脚本中的 boolean、number、string 类型的全局变量

isFistrTime=true			--测试访问 boolean 类型的全局变量

number1=10					--测试访问 number 类型的全局变量

str="我是lua中的全局变量"		--测试访问 string 类型的全局变量

number2=88.8				--测试访问 number 类型的全局变量

local number3 = 88			--测试访问是否可以访问局部变量?

3.新建一个名为“”的C#脚本(代码如下)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;


/// <summary>测试C#调用lua中的全局变量</summary>
public class TestCSharpCallLua : MonoBehaviour
{
    private LuaEnv m_LuaEnv;

    private void Start()
    {
        m_LuaEnv = new LuaEnv();
        m_LuaEnv.DoString("require 'CSharpCallLua'");                  //调用完才能取得里面的变量

        bool isFistrTime = m_LuaEnv.Global.Get<bool>("isFistrTime");   //获取lua里面的全局变量isFistrTime
        print("isFistrTime:"+isFistrTime);

        int number1 = m_LuaEnv.Global.Get<int>("number1");             //获取lua里面的全局变量number1
        print("number1:"+number1);

        string str = m_LuaEnv.Global.Get<string>("str");               //获取lua里面的全局变量str
        print("str:"+str);

        float number2 = m_LuaEnv.Global.Get<float>("number2");         //获取lua里面的全局变量number2
        print("number2:"+number2);

        float number3 = m_LuaEnv.Global.Get<int>("number3");           //获取lua里面的局部变量number3(测试是否能访问局部变量)
        print("number3:"+number3);

    }


    private void OnDestroy()
    {
        m_LuaEnv.Dispose();
    }

}

3.运行结果如下

标签:lua,C#,访问,XLua,Lua,number2,LuaEnv,--,全局变量
来源: https://blog.csdn.net/a451319296/article/details/113725371