码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-15 23:18:35      阅读:439      评论:0      收藏:0      [点我收藏+]

标签:技术分享   log   err   更新   真机   binder   org   执行   bsp   

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

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

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

技术分享图片
1 public class GameDebug {
2     public static void LogError(object msg)
3     {
4         Debug.LogError("打印:" + msg.ToString());
5     }
6 }
View Code

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

技术分享图片技术分享图片技术分享图片

二、创建一个lua脚本

技术分享图片
local Main = {};


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


return Main;
View Code

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

技术分享图片
 1 void Start () {
 2         //创建lua虚拟机
 3         luaState = new LuaState();
 4 
 5         //绑定lua虚拟机
 6         LuaBinder.Bind(luaState);
 7         luaState.Start();
 8 
 9         LuaTable lt = luaState.DoFile<LuaTable>("Main.lua");
10         //调用lua游戏入口
11         lt.Call("GameEnter", lt);
12         lt.Dispose();
13     }
View Code

运行结果:

技术分享图片

 

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

标签:技术分享   log   err   更新   真机   binder   org   执行   bsp   

原文地址:https://www.cnblogs.com/yougoo/p/9795005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!