一.加载lua脚本
今天主要写一点lua调用c#和c#调用lua
1.先导入xlua
2.C#脚本中using xlua,
3.创建luenv虚拟机
4.虚拟机实例调用addloader(加载方法名)
5.调用后虚拟机实例.Dostring(“require ‘本地的lua脚本名字(不要扩展名)’”)
6.写加载方法的内容 主要是获得所读取的lua文件的字节数组
注:string path = appliction.datapath + “/”+filename+".lua.txt"
return file.readallbytes(path)
这是加载方法的参考
7.大概步骤就这些,这仅仅是加载lua脚本接下来进入正题
二.C#调用lua
1.先在你C#脚本调用lua函数前加一个标签 [CSharpCallLua] 顾名思义
2.再调用准确的lua函数:例如:
[CSharpCallLua]
public void CalLlua() {
LuaFunction lua = env.Global.Get<LuaFunction>("Init");//其中init是lua函数名,是个全局的
lua.Call();
}
三.Lua调用C#
同上需要标签[LuaCallCSharp]
例如:
//C# 部分
[LuaCallCSharp]
public static void ChangeScene() {
SceneManager.LoadSceneAsync("SampleScene",LoadSceneMode.Single);
}
//Lua部分
这里是lua切换场景,只是个例子,不过切换场景可以拿来用
--切换场景
login.onClick:AddListener(
function ()
-- CS.GetLuaCS.ChangeScene()
CS.UnityEngine.SceneManagement.SceneManager.LoadScene("SampleScene",CS.UnityEngine.SceneManagement.LoadSceneMode.Single)
end
)
四.结尾滴滴
一个小技巧,就是Unity字体颜色改变,其实就是想JS里的标签,知道的就当看看,不知道的可以获得一个小技巧
Debug.Log("<color=颜色(例如red)>字体颜色改变</color>");
//好了就这个小技巧,这个可以用在UGUI上,例如 text.text = "<color=颜色(例如red)>字体颜色改变</color>",这样字体颜色就是红色的了啊,哈哈
结语:
有两样东西,愈是常常和持久地思考它们,对它们日久弥新和不断增长之魅力以及崇敬之情就愈加充实着心灵:我头顶的星空,和我心中的道德法则
——康德