它在组里吗?
本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 12 课,共 27 课。
检查 body.name 适用于单个节点。对于一组节点,请检查组:
if body.is_in_group("racers"):
print(body.name, " finished!")is_in_group() 的结果为真或假。即使只有一个节点,也可以使用它。重命名或复制节点时,节点名称会改变。组能说明节点是什么。
三个机器人跑向终点线。Red 和 Blue 属于场景中设置的 racers 组。Bot 负责清理赛道,不属于任何组。
挑战
简单让终点线只为赛车手打印信息。
- 在
_on_body_entered(body)中,把print放进if语句中。 - 让
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 在线编辑器