信号 Signal
使用的godot版本为3.5.3-stable
1.单个控件的信号
使用控件的信号进行绑定
将按键的press信号与目标脚本进行连接,如下图所示

按下按键后,进行数据的打印

2.使用代码进行信号连接
在父节点中处理子节点的信号
这里主要对代码
button.connect("pressed",self,"a")
进行说明,其中button是信号来源的主体,说明是button这个组件发出的pressed信号,self指后面触发的a函数是在当前节点脚本中,假设要触发c节点中的某个方法,就把self改为c,同样后面的方法a也改为相应的函数名

在当前节点处理自身的信号
当在button节点中直接处理信号时,connect前缀可不加,因为在当前节点绑定的脚本,默认就是button节点的pressed信号

3.自己创建单例SignalManager.gd跨场景绑定信号
请搜索godot中如何使用autoload
extends Node
onready var main: Node = get_tree().current_scene
onready var button :Button = main.find_node("Button")
func _ready() -> void:
print(main)
print(button)
button.connect("pressed",button,"a")
func a() -> void:
print_debug("a")
这里的关键在于如何跨场景获取节点,其他的原理跟上面一样。

1833

被折叠的 条评论
为什么被折叠?



