图层与遮罩
本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 22 课,共 27 课。
物体和区域位于编号的碰撞层上。每个都有两个设置:
collision_layer:它所在的层。collision_mask:它检测的层。区域只会注意到位于其遮罩所包含层上的物体。
这两项都是数字。第 1 层是 1,第 2 层是 2,第 3 层是 4,第 4 层是 8。所有物体默认都在第 1 层,遮罩也为 1,所以所有物体都会注意到彼此。
这里,玩家位于第 2 层,珊瑚球位于第 1 层。要让只有玩家能拿到硬币,就让硬币只检测第 2 层:
func _ready():
collision_mask = 2挑战
中等让硬币只检测玩家。
- 玩家位于第 2 层。在
_ready()开始时,设置硬币的collision_mask,让它只检测第 2 层。 - 保持
connect这一行不变。
按“开始”:球滚过硬币,然后你走过去把它捡起来。接着按“检查”。
亲手试试
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
信号与碰撞中的所有课
自己练习: Godot 在线编辑器