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 está.collision_mask: as camadas que observa. Uma área detecta apenas corpos que estejam em uma camada incluída em sua máscara.
Ambos 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 detecta 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édioA bola rolante pega a moeda antes de você conseguir. Em _ready(), defina a collision_mask da moeda para que ela detecte apenas a camada 2, a camada do jogador. A bola deve atravessar a moeda. Então, você se aproxima e a pega.
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