Menu
CoddyTech

Áreas detectam corpos

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

Uma Area2D é uma zona que detecta o que entra nela.

Uma Area2D precisa de um nó filho CollisionShape2D. A forma define o tamanho da área, neste caso, a caixa verde. Os corpos atravessam uma área. Eles não colidem com ela.

Quando um corpo entra, a área envia um sinal chamado body_entered. O script dessa zona fica atento a ele:

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print("Welcome to the zone!")

_on_body_entered é executada cada vez que um corpo entra na forma. A próxima lição explica a linha connect. O robô é um corpo, mas se move ao longo de y = 250, abaixo da zona.

challenge icon

Desafio

Fácil

Coloque a zona no caminho do robô.

  1. O robô anda ao longo de y = 250. Em _ready(), defina position.y da zona como 250.
  2. Deixe a linha connect como está.

Pressione “Jogar”: quando o robô entrar, o Console exibirá Welcome to the zone!. Depois, pressione “Verificar”.

Experimente você mesmo

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	print("Welcome to the zone!")

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

Pratique por conta própria: Playground de Godot