Menu
CoddyTech

Wiele kolców, jedna funkcja

Część sekcji Sygnały i kolizje ścieżki Godot w Coddy. Lekcja 21 z 27.

Poziom może zawierać wiele kolców, które działają tak samo. Połącz je wszystkie z jedną funkcją za pomocą pętli przechodzącej przez ich grupę:

for spike in get_tree().get_nodes_in_group("spikes"):
	spike.body_entered.connect(_on_spike_body_entered)

Każda iteracja pętli łączy kolejny kolec za pomocą body_entered. Niezależnie od tego, którego rzędu dotkniesz, uruchomi się ta sama funkcja i otrzyma twoje ciało.

Piąty rząd dodany do grupy działa bez dopisywania nowego kodu. Te cztery rzędy należą do grupy spikes.

challenge icon

Wyzwanie

Średni

Spraw, aby każdy rząd kolców odsyłał cię z powrotem.

  1. W _ready() zastąp jedną linię connect pętlą for przechodzącą przez grupę spikes.
  2. Wewnątrz pętli połącz body_entered każdego węzła z _on_spike_body_entered.

Naciśnij „Graj” i wejdź na dowolne kolce: wracasz na początek. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

extends Node2D

func _ready():
	$Spikes1.body_entered.connect(_on_spike_body_entered)

func _on_spike_body_entered(body):
	body.position = Vector2(80, 280)

Wszystkie lekcje w sekcji Sygnały i kolizje

Poćwicz samodzielnie: Edytor online Godot