Własny sygnał
Część sekcji Sygnały i kolizje ścieżki Godot w Coddy. Lekcja 7 z 27.
Możesz nadać węzłowi własne sygnały. Zadeklaruj jeden na początku skryptu za pomocą signal:
extends Area2D
signal hitWyemituj go za pomocą emit(), gdy coś się wydarzy:
func _on_body_entered(body):
hit.emit()Starszy kod może używać emit_signal("hit"). Działa tak samo.
Kolce tylko zgłaszają, że ktoś został trafiony. To, co oznacza trafienie, zależy od kodu nasłuchującego. W tym przypadku skrypt na węźle Main nasłuchuje sygnału hit:
extends Node2D
# Main nasłuchuje sygnału hit od kolców, gdy tylko zostanie on do nich dodany.
func _ready():
if $Spikes.has_signal("hit"):
$Spikes.hit.connect(_on_spikes_hit)
func _on_spikes_hit():
print("Ouch!")
$Player.modulate = Color(1, 0.42, 0.42)Wkrótce napiszesz podobne procedury nasłuchujące. W tej lekcji edytujesz tylko kolce.
Wyzwanie
ŁatwyDodaj kolcom sygnał i wysyłaj go, gdy ktoś na nie nadepnie:
- Zadeklaruj
signal hitna początku plikuspikes.gd. - W
_on_body_enteredwyślij go za pomocąhit.emit().
Wejdź na kolce. W konsoli powinno pojawić się Ouch!, a ty zmienisz kolor na koralowy.
Spróbuj swoich sił
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sygnały i kolizje
Poćwicz samodzielnie: Edytor online Godot