• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Unity3D——将Unity中自定义的类映射到Lua中来调用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文以映射自定义类MyClass.cs为例

打开框架后,新建场景

一、创建脚本MyClass.cs如下,名字空间使用“ZHF”

  1. <span style="font-size:18px;">using System;  
  2. using System.Collections;  
  3.   
  4. namespace ZHF {  
  5.     public class MyClass {  
  6.         public const bool Zhang = false;  
  7.     }  
  8. }  
  9. </span>  

二、在Project面板的Assets->LuaFramework->ToLua->Source->Generate目录下新建脚本,名字为ZHF_MyClassWrap.cs,

内容如下所示

  1. <span style="font-size:18px;">using System;  
  2. using LuaInterface;  
  3. using ZHF;  
  4.   
  5. public class ZHF_MyClassWrap {  
  6.     public static void Register(LuaState L) {  
  7.         L.BeginClass(typeof(ZHF.MyClass), typeof(System.Object));  
  8.         L.RegFunction("Display", Display);  
  9.         L.RegConstant("Zhang", 23333);  
  10.         L.EndClass();  
  11.     }  
  12.     [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]  
  13.     static int Display(IntPtr L) {  
  14.         try {  
  15.             ToLua.Push(L, "sad");  
  16.             return 1;  
  17.         } catch (Exception e) {  
  18.             return LuaDLL.toluaL_exception(L, e);  
  19.         }  
  20.     }  
  21. }</span>  

在相同目录下面找到LuaBinder.cs,打开并导入刚刚新建的名字空间“ZHF”,并在Bind函数中加入如下代码:


保存上面的之后然后分别依次点击下面1、2两个框



三、待以上编译完成之后,就开始测试部分了

(1)按照以往的习惯,新建一个测试的脚本,挂载在场景中的一个空物体上,脚本如下所示:


(2)lua脚本内容已经存放位置如下所示,脚本名字是LuaTest.lua:


LuaTest.lua存放路径(注意这里和C#的测试脚本的路径对应)



四、运行




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua字符串格式化多参用法发布时间:2022-07-22
下一篇:
Step By Step(Lua数据结构)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap