Menu
CoddyTech
flag Pt iconPortuguêsdown icon

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.

challenge icon

Desafio

Médio

Apenas 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)
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