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 = 2Desafio
MédioFaça com que a moeda perceba apenas o jogador.
- O jogador está na camada 2. No início de
_ready(), definacollision_maskda moeda para que ela perceba apenas a camada 2. - Deixe a linha
connectcomo 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()
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