Capas y máscaras
Parte de la sección Señales y colisiones del Journey de Godot de Coddy. Lección 22 de 27.
Los cuerpos y las áreas se encuentran en capas de colisión numeradas. Cada uno tiene dos ajustes:
collision_layer: las capas en las que está.collision_mask: las capas que observa. Un área detecta solo los cuerpos que están en una capa incluida en su máscara.
Ambos son números. La capa 1 es 1, la capa 2 es 2, la capa 3 es 4 y la capa 4 es 8. Todo empieza en la capa 1 con la máscara 1, así que todo detecta todo.
Aquí, el jugador está en la capa 2 y la bola de coral está en la capa 1. Para que solo el jugador pueda recoger la moneda, la moneda observa únicamente la capa 2:
func _ready():
collision_mask = 2Desafío
IntermedioLa bola rodante recoge la moneda antes que tú. En _ready(), configura collision_mask de la moneda para que detecte solo la capa 2, la capa del jugador. La bola debería atravesar la moneda. Después, te acercas y la recoges.
Pruébalo tú mismo
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Señales y colisiones
Practica por tu cuenta: Playground de Godot