Á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_enteredebody_exited: um corpo entrou ou saiu. Corpos são coisas sólidas, comoCharacterBody2DeStaticBody2D.area_enteredearea_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.
Desafio
FácilFaça a cesta detectar as estrelas que estão caindo.
- As estrelas são áreas, não corpos. Em
_ready(), conectearea_enteredem vez debody_entered. - Mantenha
_on_star_caughtcomo 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