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


    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

    运行结果:

  • 相关阅读:
    4月22日:毕业设计计划
    4月21日:毕业设计计划
    4月11日:毕业设计计划
    4月9日:毕业设计计划
    4月8日:毕业设计计划
    4月2日:毕业设计计划
    4月1日:毕业设计计划
    3月31日:毕业设计计划
    3月30日:毕业设计计划
    3月28日:毕业设计计划
  • 原文地址:https://www.cnblogs.com/yougoo/p/9795005.html
Copyright © 2020-2023  润新知