Lua中的类型:nil,number,bool,string,table,function
其中基本类型有nil,number,bool,string
Lua的number对应C#的int,float,double等等
Lua的string对应C#的string
Lua的bool对应C#的bool
首先在Lua脚本中定义几个基本类型的变量
注意要先用require加载Lua文件到Lua虚拟机后才可以使用Get方法得到Lua文件中的值
using UnityEngine;
using XLua;
public class CsCallLua : MonoBehaviour
{
private void Start()
{
LuaEnv luaenv = new LuaEnv();
luaenv.DoString("require '1'");
print(luaenv.Global.Get<int>("hp")); //100
print(luaenv.Global.Get<bool>("isDie")); //True
print(luaenv.Global.Get<string>("name")); //liu
luaenv.Dispose();
}
}
C#访问Lua文件中的number类型时,会进行自动的类型转换(低类型可以自动转高类型,也就是可以给高类型的值赋予一个低类型的值)因为Lua中的数字类型统一为number,而C#有int,double,float等类型,例如用C#中的int类型去访问Lua文件中定义的一个本质为float类型的变量,则输出为0
首先在Lua脚本中定义几个number类型的变量
在CS中