Il tuo segnale
Fa parte della sezione Segnali e collisioni del percorso Godot di Coddy. Lezione 7 di 27.
Puoi assegnare a un nodo dei segnali personalizzati. Dichiarane uno all'inizio dello script con signal:
extends Area2D
signal hitInvialo con emit() quando accade l'evento:
func _on_body_entered(body):
hit.emit()Il codice meno recente potrebbe usare emit_signal("hit"). Fa la stessa cosa.
Le punte segnalano soltanto che qualcuno è stato colpito. Spetta al codice in ascolto decidere cosa succede quando qualcuno viene colpito. Qui, lo script su Main è in ascolto di hit:
extends Node2D
# Main resta in ascolto del segnale hit degli spuntoni, una volta che gli spuntoni ne hanno uno.
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)Presto scriverai listener come questo. In questa lezione modifichi soltanto le punte.
Sfida
FacileAssegna un segnale alle punte e invialo quando qualcuno ci cammina sopra:
- Dichiara
signal hitall'inizio dispikes.gd. - In
_on_body_entered, invialo conhit.emit().
Cammina sulle punte. La Console dovrebbe mostrare Ouch! e diventerai color corallo.
Provalo tu
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Segnali e collisioni
2Segnali
Le aree si incontranoIl tuo segnaleSegnali con valoriIl segnale di un altro nodoAscolta il tuo segnaleEsercitati da solo: Playground Godot