当前位置: 首页 > news >正文

Lua调用C#类

先创建一个Main脚本作为主入口,挂载到摄像机上

public class Main : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){LuaMgr.GetInstance().Init();LuaMgr.GetInstance().DoLuaFile("Main");}// Update is called once per framevoid Update(){}
}

编写Lua脚本

Main.lua

print("OK")
--也会执行重定向
--require("Test")
require("L1_CallClass")

L1_CallClass.lua

--Lua中使用C#类
--CS.命名空间.类名
--Unity的类(GameObject Transform等
--在CS.UnityEngine--默认调用无参构造
local obj1 = CS.UnityEngine.GameObject()
local obj2 = CS.UnityEngine.GameObject("命名")--节约性能
GameObject = CS.UnityEngine.GameObject
local obj3 = GameObject("节约性能")--静态方法直接.使用
local obj4 = GameObject.Find("命名")
print(obj4.transform.position)--使用成员方法,一定要加:
Vector3 = CS.UnityEngine.Vector3
obj4.transform:Translate(Vector3.right)
print(obj4.transform.position)--自定义类
local t = CS.Test1()
t:Speak("说话")
local t2 = CS.Holens.Test2()
t2:Speak("说话")--继承Mono的类 不能直接New
local obj5 = GameObject("加脚本测试")
--xLua提供了一个重要方法 typeof方法
obj5:AddComponent(typeof(CS.LuaCallC))

自定义类

//自定义类
public class Test1
{public void Speak(string str){Debug.Log("Test1"+str);}
}namespace Holens
{public class Test2{public void Speak(string str){Debug.Log("Test2" + str);}}
}
public class LuaCallC : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}
}

 

运行结果

http://www.lryc.cn/news/197197.html

相关文章:

  • “react“: “^16.14.0“,打开弹窗数据发生变化
  • MySQL数据库varchar字段求和出现精度丢失
  • C++入门 第二篇( 引用、内联函数、auto关键字、指针空值nullptr)
  • 2023年煤气证模拟考试题库及煤气理论考试试题
  • 嵌入式面试经典30问
  • C++ 八股文: 构造函数
  • 自动切割短视频的软件推荐,一键生成1000条短视频,支持六大主流平台矩阵分发,快来免费试用
  • 从零开始学习秒杀项目
  • 儿童珠宝首饰上亚马逊美国站合规标准是什么?如何办理?
  • ORACLE 19C PDB FOR MYSQL 5.7 部署ogg
  • 前端 html 中的 meta 标签有哪些用处?
  • 罗技鼠标接收器丢失或损坏后用另一个接收器配对的方法
  • Python语法
  • 电脑经营商城小程序的作用是什么
  • 森海塞尔EW-DP SKP直插式发射机:真正的无失真录制
  • 通过小程序实现会议Oa的会议展示以及个人中心
  • STM32驱动GY-39监测环境温度,湿度,大气压强,光强度
  • 在华为和比亚迪干了5年测试,月薪25K,熬夜总结出来的划水经验.....
  • Mac 使用 scp 上传或下载文件/文件夹
  • Restful 风格
  • LLM 系列 | 21 : Code Llama实战(上篇) : 模型简介与评测
  • 积分球荧光光谱测试光电检测方式有哪些优点?
  • 软考考试时间已出!采用连考形式!
  • 深入理解强化学习——学习(Learning)、规划(Planning)、探索(Exploration)和利用(Exploitation)
  • 大模型LLM相关面试题整理-训练集-训练经验-微调
  • qt 实现pdf阅读器
  • 从培训班出来之后找工作的经历,教会了我五件事.....
  • idea中还原dont ask again
  • Unity之ShaderGraph如何实现光边溶解
  • Go语言和Python语言哪个比较好?