c#和 lua 简单交互

首先去下载 最新版本的 uLua 


c# 与 lua 的交互 比较简单, 一下为例子:

 

c# 文件内容:

[c-sharp]  view plain copy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using LuaInterface;         // lua 封装库  
  5. namespace lua_test  
  6. {  
  7.     class MyClass           // 自定义类  
  8.     {  
  9.         public string MyStr(int _num)   // 自定义功能函数  
  10.         {  
  11.             return _num + " Hello World !";  
  12.         }  
  13.     }  
  14.     class Program  
  15.     {  
  16.         public static LuaState m_lua = new LuaState();        // 创建lua虚拟机  
  17.         static public void init()  
  18.         {  
  19.             MyClass my = new MyClass();             // 创建自定义类 实例  
  20.             // 在lua虚拟机(全局)中注册自定义函数,一边在lua文件中调用该函数  
  21.             LuaState.RegisterFunction("MyStr", my, my.GetType().GetMethod("MyStr"));  
  22.             LuaState.DoFile("lua_test.lua");           // 加载lua文件(绝对路径)  
  23.         }  
  24.         static void Main()  //调用这个函数
  25.         {  
  26.             init();  
  27.             // 加载乱文件后,使用GetFunction获取函数,再调用Call执行(传参数)  
  28.             object[] objs = m_lua.GetFunction("MyNum").Call(999);  
  29.             // Call函数的返回值为一个object数组  
  30.         }  
  31.     }  
  32. }  

 

lua文件(lua_test.lua)内容:


function MyNum(i)

s = MyStr(i);

return i,s;

end


执行完后 objs 中 2 个值 为100 和 Hello World !

注意:
DoFile 路径 TextAsset.Load 必须是txt格式,
所以把lua改成.txt结尾,且必须放在Resource目录下

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值