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

Godot中用C#脚本自定义信号

Godot中用C#脚本自定义信号

  1. 自定义信号

    在类中声明带有[Signal]注解的函数, 这里函数名一定要是: XXXEventHandler的格式, Godot会自动把这样的声明翻译成信号名并在编辑器中显示.

	[Signal]public delegate void MyDIYSignalEventHandler(string message);

在合适的位置调用EmitSignal发射信号, 这里的信号名就是XXX, 不需要EventHandler

		EmitSignal(nameof(MyDIYSignal), message);
  1. 在C#中连接信号
    1. 我们可以直接在编辑器中通过GUI来联接信号
    2. 也可以用如下代码获取到发射对象后, 用Connect方法连接信号, 写法如下:
var sender = GetTree().CurrentScene.GetNode<SendSingnal>("SendSignal1");
GD.Print(sender != null ? "Found SendSingnal node" : "SendSingnal node not found");
sender.Connect(nameof(sender.MyDIYSignal), new Callable(this, nameof(OnMyDIYSignalReceived)));
  1. 处理信号
    1. 我们定义OnMyDIYSignalReceived函数, 函数的输入参数与发射的信号之间是一一对应的, 函数中可以接收到的信号进行处理.
public void OnMyDIYSignalReceived(string message)
{GD.Print("Received DIY signal with message: " + message);this.GetNode<Label>("Label").Text = "Received: " + message;
}

更多文章来自:
https://www.codebonobo.tech/post/35
https://www.codebonobo.tech/post/35#Godot中用C#脚本自定义信号

http://www.wuyegushi.com/news/182.html

相关文章:

  • zookper笔记
  • ABC 416 F
  • 除法取模需使用费马小定理或者欧拉函数
  • LLaMA Factory:一站式大模型微调框架的技术介绍
  • 2025727
  • 读《大道至简》有感
  • Datawhale AI夏令营-DeepSeek数学推理蒸馏:轻量化模型的高效推理优化
  • Windows操作QEMU安装ARM架构的操作系统
  • 34th@202508工作清单@20250726
  • 用 Go 与 Tesseract 构建验证码识别 HTTP 服务
  • CS144 Lab2: TCPReceiver实现全解析
  • windows操作QEMU安装ARM架构操作系统
  • 使用 Go 构建基于 Tesseract 的命令行验证码识别工具
  • SpringCloud微服务架构-Gateway服务网关
  • 暑期生活学习笔记
  • 好的调试
  • 20250726 之所思 - 人生如梦
  • Day15 面向对象编程
  • if语句
  • 使用 Go 调用 Tesseract 实现验证码图片文字提取
  • 最长有效括号子串问题
  • 数组练习试题2
  • 7.26 训练总结
  • AirSim基础使用【Python】
  • 7.25
  • SQLAlchemy
  • GPT-SoVITS初探
  • 6. 容器类型
  • 在Ubuntu系统中搭建Unreal4和AirSim环境
  • 深度解析苹果端侧与云端基础模型技术架构