已解决
使用XLua在Unity中获取lua全局变量和函数
来自网友在路上 197897提问 提问时间:2023-10-14 18:00:50阅读次数: 97
最佳答案 问答题库978位专家为你答疑解惑
1、Lua脚本
入口脚本
print("OK")
--也会执行重定向
require("Test")
测试脚本
print("TestScript")
testNum = 1
testBool = true
testFloat = 1.2
testStr = "123"function testFun()print("无参无返回")
endfunction testFun2(a)print("有参有返回")return a
end
2、C#脚本
(1)获取全局变量
public class L4 : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){//自己编写的Lua管理器//初始化管理器LuaMgr.GetInstance().Init();//执行Main脚本(调用了Test脚本)LuaMgr.GetInstance().DoLuaFile("Main");//得到全局变量(只是复制到C#,改不了)int i = LuaMgr.GetInstance().Global.Get<int>("testNum");print(i);//修改全局变量LuaMgr.GetInstance().Global.Set("testNum", 2);i = LuaMgr.GetInstance().Global.Get<int>("testNum");print(i);}
}
执行结果
(2)获取全局函数
using XLua;
public class L5 : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){LuaMgr.GetInstance().Init();LuaMgr.GetInstance().DoLuaFile("Main");#region 无参无返回//第一种方法 通过 GetFunction方法获取(需要引用命名空间)LuaFunction function = LuaMgr.GetInstance().Global.Get<LuaFunction>("testFun");//调用 无参无返回function.Call();//执行完过后 function.Dispose();#endregion#region 有参有返回//第一种方式 通过luafunction 的 call来访问LuaFunction function2 = LuaMgr.GetInstance().Global.Get<LuaFunction>("testFun2");Debug.Log("有参有返回值 Call:" + function2.Call(10)[0]);#endregion}
}
查看全文
99%的人还看了
相似问题
- shell 脚本的函数和数组
- shell脚本三
- 二百零六、Flume——Flume1.9.0单机版部署脚本(附截图)
- Linux 启动停止重启jar包shell脚本
- shell脚本用法参数
- ES索引数据清理脚本示例
- hadoop 编写开启关闭集群脚本, hadoop hdfs,yarn开启关闭脚本。傻瓜式hadoop脚本 hadoop(九)
- 暖阳脚本_ 将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent
- Apache Airflow (九) :Airflow Operators及案例之BashOperator及调度Shell命令及脚本
- Redis学习笔记14:基于spring data redis及lua脚本ZSET有序集合实现环形结构案例及lua脚本如何发送到redis服务器
猜你感兴趣
版权申明
本文"使用XLua在Unity中获取lua全局变量和函数":http://eshow365.cn/6-19496-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: EEPROM、FLASH电路设计
- 下一篇: 关于抽象类