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.
Wyzwanie
ŚredniSpraw, aby każdy rząd kolców odsyłał cię z powrotem.
- W
_ready()zastąp jedną linięconnectpętląforprzechodzącą przez grupęspikes. - Wewnątrz pętli połącz
body_enteredkaż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