Muitos espinhos, uma função
Parte da seção Sinais e colisões do Journey de Godot da Coddy. Lição 21 de 27.
Uma fase pode ter muitos espinhos que fazem a mesma coisa. Conecte todos a uma única função com um loop sobre o grupo deles:
for spike in get_tree().get_nodes_in_group("spikes"):
spike.body_entered.connect(_on_spike_body_entered)Cada iteração do loop conecta o body_entered do próximo espinho. Qualquer que seja a fileira em que você tocar, a mesma função será executada e obterá seu corpo.
Uma quinta fileira adicionada ao grupo funciona sem nenhum código novo. As quatro fileiras aqui estão no grupo spikes.
Desafio
MédioApenas Spikes1 faz você voltar. Em _ready(), conecte o body_entered de cada nó do grupo spikes a _on_spike_body_entered.
Experimente você mesmo
extends Node2D
func _ready():
$Spikes1.body_entered.connect(_on_spike_body_entered)
func _on_spike_body_entered(body):
body.position = Vector2(80, 280)
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