Menu
CoddyTech
flag Pt iconPortuguêsdown icon

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

Desafio

Médio

A 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()
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