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 detecta. Un área solo detecta los cuerpos que están en una de las capas de su máscara.
Ambos son números. La capa 1 es 1, la capa 2 es 2, la capa 3 es 4, 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 detecta únicamente la capa 2:
func _ready():
collision_mask = 2Desafío
IntermedioHaz que la moneda detecte solo al jugador.
- El jugador está en la capa 2. Al principio de
_ready(), establececollision_maskde la moneda para que detecte solo la capa 2. - Deja la línea
connecttal como está.
Pulsa «Jugar»: la pelota atraviesa la moneda y después te acercas y la recoges. Después, pulsa «Comprobar».
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