自定义信号
在类中声明带有[Signal]注解的函数, 这里函数名一定要是: XXXEventHandler的格式, Godot会自动把这样的声明翻译成信号名并在编辑器中显示.
[Signal] public delegate void MyDIYSignalEventHandler(string message);
在合适的位置调用EmitSignal发射信号, 这里的信号名就是XXX, 不需要EventHandler
EmitSignal(nameof(MyDIYSignal), message);
plainvar 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)));
plainpublic void OnMyDIYSignalReceived(string message) { GD.Print("Received DIY signal with message: " + message); this.GetNode<Label>("Label").Text = "Received: " + message; }
本文作者:JiangOil
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!