Unity热更新学习(二) —— ToLua c#与lua的相互调用

tolua 下载地址:http://www.ulua.org/index.html

c#调用lua的方法,tolua的官方例子提供了很多种。我初步学了一种在做项目使用的方法。通过DoFile方法执行lua脚本。目前只在windows环境下的Unity上测试,没有在真机运行。

一、创建一个c# script,封装一下LogError方法

 public class GameDebug {
public static void LogError(object msg)
{
Debug.LogError("打印:" + msg.ToString());
}
}

并把这个类加到CustomSetting里,并wrap一下

Unity热更新学习(二) ——  ToLua  c#与lua的相互调用Unity热更新学习(二) ——  ToLua  c#与lua的相互调用Unity热更新学习(二) ——  ToLua  c#与lua的相互调用

二、创建一个lua脚本

local Main = {};

local c1,c2;
-- 游戏主入口
function Main:GameEnter()
GameDebug.LogError("从这开始");
end return Main;

三、创建一个c# script并注册lua虚拟机,把这个script挂在场景里的某个GameObject上

 void Start () {
//创建lua虚拟机
luaState = new LuaState(); //绑定lua虚拟机
LuaBinder.Bind(luaState);
luaState.Start(); LuaTable lt = luaState.DoFile<LuaTable>("Main.lua");
//调用lua游戏入口
lt.Call("GameEnter", lt);
lt.Dispose();
}

运行结果:

Unity热更新学习(二) ——  ToLua  c#与lua的相互调用

上一篇:使用定时器通过改变图片的src来切换图片


下一篇:jquety选择器