Menu
CoddyTech

Áreas se Encontram

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

Os nós do Godot vêm com sinais integrados. Um Area2D tem quatro que você usará com frequência:

  • body_entered e body_exited: um corpo entrou ou saiu. Corpos são coisas sólidas, como CharacterBody2D e StaticBody2D.
  • area_entered e area_exited: outra área entrou ou saiu.

Uma área nunca envia body_entered para outra área. As estrelas cadentes são áreas, então a cesta precisa de area_entered:

func _ready():
	area_entered.connect(_on_star_caught)

A função recebe a área que entrou, então aceita um valor, como _on_body_entered(body). Você pode dar qualquer nome a ele.

challenge icon

Desafio

Fácil

Faça a cesta detectar as estrelas que estão caindo.

  1. As estrelas são áreas, não corpos. Em _ready(), conecte area_entered em vez de body_entered.
  2. Mantenha _on_star_caught como a função.

Pressione “Jogar”: o Console mostra Caught a star! duas vezes, uma vez por estrela. Depois, pressione “Verificar”.

Experimente você mesmo

extends Area2D

func _ready():
	body_entered.connect(_on_star_caught)

func _on_star_caught(star):
	print("Caught a star!")

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

Pratique por conta própria: Playground de Godot