Menu
CoddyTech

离开区域

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

当一个物体离开区域时,区域会发送第二个信号:body_exited。它的函数也会接收这个物体。

将每个信号单独连接到各自的函数:

func _ready():
	body_entered.connect(_on_body_entered)
	body_exited.connect(_on_body_exited)

func _on_body_exited(body):
	print(body.name, " left")

有了这两个信号,你就能知道物体何时处于区域内:从 body_entered 到 body_exited。

challenge icon

挑战

简单

走出房间时,让灯熄灭。

  1. 编写函数 _on_body_exited(body),将 $Lamp 隐藏。
  2. 在 _ready() 中,将 body_exited 连接到它。

按“开始”,走进房间再走出来:灯会亮起,然后熄灭。然后按“检查”。

亲手试试

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	$Lamp.visible = true
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

信号与碰撞中的所有课

自己练习: Godot 在线编辑器