Menu
CoddyTech

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 = 2
challenge icon

Desafío

Intermedio

Haz que la moneda detecte solo al jugador.

  1. El jugador está en la capa 2. Al principio de _ready(), establece collision_mask de la moneda para que detecte solo la capa 2.
  2. Deja la línea connect tal 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()
quiz iconPonte a prueba

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