toLua中Lua调用C#中的类

news/2024/9/23 9:24:59

toLua中Lua调用C#:

[7]Lua脚本调用C#中的class

准备工作:打算在Lua脚本中使用Debug,使用lua调用C#脚本,需要绑定LuaState和自定义添加Debug

image-20240514070352258

image-20240514070442189

---
--- Generated by EmmyLua(https://github.com/EmmyLua)
--- Created by TonyChang.
--- DateTime: 2024/5/14 6:55
---
print("----------------------toLua中调用c#脚本-------------------------")--调用Unity中的类
local object1 = UnityEngine.GameObject("object1")
local object2 = UnityEngine.GameObject("TonyChang")GameObject  = UnityEngine.GameObject
local object3 = GameObject("object3")--类中额静态对象可以使用 。 来调用local TonyChang = GameObject.Find("TonyChang")
print(TonyChang.transform.position.x)

image-20240514072109660

调用的C#自定义脚本

Lua中调用自定义脚本

--使用Unity的Debug来打印
Debug = UnityEngine.Debug
Debug.Log("----------Hello-----------")Vector3 = UnityEngine.Vector3
--使用 :调用成员方法
TonyChang.transform:Translate(Vector3.right)
Debug.Log(TonyChang.transform.position.x)--调用继承了MonoBehaviour的类
TonyChang:AddComponent(typeof(TestScripts.Test))--调用没有继承MonoBehaviour的类
local JackStu = TestScripts.Student("Jack")
JackStu:Speak()

Lua中要调用的自定义类

using UnityEngine;namespace TestScripts
{public class Student{private string _name;public Student(string name){_name = name;}public void Speak(){Debug.Log("my name is " + _name);}}public class Test : MonoBehaviour{private void Awake(){Debug.Log("Test.cs is running");}}
}

img
运行结果:
image-20240514082302000

调用自定的脚本需要在CustomSettings 新增,并生成warp 文件,才可以在lua中调用。
此处注意:在生成的Debug warp文件时候会报错产生,是因为wrap文件中使用指针,将相关的代码注释掉即可!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/31265.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

《食品小经营登记证》办理流程

第一步:登录甘肃政务服务网第二步:选择区域第三步:点击“一件事服务”填写“申请者基本信息”选择“经营项目”上传身份证一路涉足、一路留恋、一路回望。依旧前行。

库的移植和使用---例子:JPEG的解码和编码

库的通用移植安装步骤,以及库的使用步骤学习;以JPEG库作为例子进行学习目录开源库移植步骤[1]:下载库的源码包[2]:解压,且阅读“README(自述文件)",了解对应库的使用规则[3]:打开源码中的install.txt的文本,学习库的移植和安装步骤[4]:把下载好的源码包jpegsrc.…

C#.Net筑基-模式匹配汇总

从C#7开始支持的 模式匹配 语法(糖,挺甜),可非常灵活的对数据进行条件匹配和提取,经过多个版本的完善,已经非常强大了。01、模式匹配概述 从C#7开始支持的 模式匹配 语法(糖,挺甜),可非常灵活的对数据进行条件匹配和提取,经过多个版本的完善,已经非常强大了。 C# 支…

全面系统的AI学习路径,帮助普通人也能玩转AI

前言 现如今AI技术和应用的发展可谓是如火如荼,它们在各个领域都展现出了巨大的潜力和影响力。AI的出现对于我们这些普通人而言也是影响匪浅,比如说使用AI工具GPT来写文档查问题、使用AI辅助编程工具帮助我们写代码、并且可是使用AI来实现人工客服等。那么普通人如何学习AI呢…

python3脚本调整歌词文件时间戳

场景:截取部分音乐文件,对应歌词的时间要做相应调整。 例如:下方歌词文件,只需要 [00:28] 及以后的内容,而且将第一句 ( [00:28]月光 把天空照亮 )的时间改成 [00:01],那么第二句的时间应该是 [00:06],第三句的时间应该是 [00:12],以此类推 歌词文件中,时间的格式…

GPU算子计算与调度技术

GPU算子计算与调度技术 9.4.1 GPU内核驱动分析概述 不同CPU相比,GPU中包含了大量的并行计算单元,适合处理像素,矩阵,坐标等大量同类型的数据,因此,很多LINUX上的应用程序为了能够利用GPU的加速功能,都试图和GPU直接打交道,因此,系统中可能有多个组件或者程序同时使用G…

读人工智能时代与人类未来笔记02_技术变革

读人工智能时代与人类未来笔记02_技术变革1. 目标 1.1. AlphaZero的目标是在遵守规则的前提下赢得国际象棋比赛 1.2. 发现Halicin的人工智能的目标是灭杀尽可能多的致病菌:它在不伤害宿主的情况下灭杀的致病菌越多,就越成功 1.2.1. 人工智能…

Golang初学:高并发时写入数据到不同的map

go version go1.22.1 windows/amd64 Windows 11 + amd64 x86_64 x86_64 GNU/Linux ---序章 多个 给 map 写入数据。 1、基本的map:make(map[any]any) 失败。 2、sync.Map 成功。测试场景: 1K 个 goroutines 给同一个 map 各自写入 1W 数据,总1KW数据。测试#1:普通map 代码:…