Menu
CoddyTech

它在组里吗?

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

检查 body.name 适用于单个节点。对于一组节点,请检查组:

if body.is_in_group("racers"):
	print(body.name, " finished!")

is_in_group() 的结果为真或假。即使只有一个节点,也可以使用它。重命名或复制节点时,节点名称会改变。组能说明节点是什么。

三个机器人跑向终点线。Red 和 Blue 属于场景中设置的 racers 组。Bot 负责清理赛道,不属于任何组。

challenge icon

挑战

简单

让终点线只为赛车手打印信息。

  1. 在 _on_body_entered(body) 中,把 print 放进 if 语句中。
  2. 让 if 检查 body.is_in_group("racers")。

按“开始”:控制台会显示 Red finished! 和 Blue finished!,而不会显示 Bot 的信息。然后按“检查”。

亲手试试

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print(body.name, " finished!")

信号与碰撞中的所有课

自己练习: Godot 在线编辑器