Menu
CoddyTech

另一个节点的信号

本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 9 课,共 27 课。

脚本也可以监听另一个节点的信号。用 $ 获取节点,然后连接它的信号:

$Switch.body_entered.connect(_on_switch_body_entered)

这表示:当 Switch 发出 body_entered 时,调用 _on_switch_body_entered。这个函数位于此脚本中,因此可以使用此脚本的节点,例如 $Light。

游戏通常会采用这种连接方式。一个主脚本连接开关、灯和门,这些节点各自都很简单。Godot 会将这类函数命名为 _on_,后面接节点名,再接信号名。

challenge icon

挑战

简单

让开关点亮灯。

  1. 在 Main 的 _ready() 中,以 $Switch.body_entered 开始一行。
  2. 将它连接到 _on_switch_body_entered。

按“开始”,然后踩上绿色开关:灯就会亮起。然后点击“检查”。

亲手试试

extends Node2D

func _ready():
	pass

func _on_switch_body_entered(body):
	$Light.visible = true

信号与碰撞中的所有课

自己练习: Godot 在线编辑器