zoukankan      html  css  js  c++  java
  • 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

    运行结果:

  • 相关阅读:
    【转】wpa_supplicant与wpa_cli之间通信过程
    CSS Hack
    HTML5测试(二)
    HTML5测试(一)
    百分号编码(URL编码)
    DOM事件处理函数
    JS数组
    JS中for循环嵌套
    Codecombat 游戏攻略(计算机科学三)2
    Codecombat 游戏攻略(计算机科学三)
  • 原文地址:https://www.cnblogs.com/yougoo/p/9795005.html
Copyright © 2011-2022 走看看