Menu
CoddyTech

Camadas e máscaras

Parte da seção Sinais e colisões do Journey de Godot da Coddy. Lição 22 de 27.

Corpos e áreas ficam em camadas de colisão numeradas. Cada um tem duas configurações:

  • collision_layer: as camadas em que ele está.
  • collision_mask: as camadas que ele observa. Uma área percebe apenas os corpos que estão em uma camada incluída em sua máscara.

Ambas são números. A camada 1 é 1, a camada 2 é 2, a camada 3 é 4, a camada 4 é 8. Tudo começa na camada 1 com máscara 1, então tudo percebe tudo.

Aqui, o jogador está na camada 2 e a bola de coral está na camada 1. Para permitir que apenas o jogador pegue a moeda, a moeda observa somente a camada 2:

func _ready():
	collision_mask = 2
challenge icon

Desafio

Médio

Faça com que a moeda perceba apenas o jogador.

  1. O jogador está na camada 2. No início de _ready(), defina collision_mask da moeda para que ela perceba apenas a camada 2.
  2. Deixe a linha connect como está.

Pressione “Jogar”: a bola atravessa a moeda rolando, depois você se aproxima e a pega. Em seguida, pressione “Verificar”.

Experimente você mesmo

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	queue_free()
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Sinais e colisões

Pratique por conta própria: Playground de Godot