Numeri fluttuanti
Fa parte della sezione Sensazioni di gioco del percorso Godot di Coddy. Lezione 19 di 23.
Un numero che fluttua verso l'alto quando si subisce un colpo indica al giocatore cosa è successo.
Il metodo hit() del robot crea già una Label che mostra -1 sopra la sua testa. Come le schegge della cassa, l'etichetta viene inserita in get_parent(), così non si muove né lampeggia insieme al robot.
Per farla fluttuare, anima contemporaneamente la sua "position:y" verso l'alto e porta la sua "modulate:a" a 0. Quando l'animazione è terminata, rimuovi l'etichetta con label.queue_free(). Altrimenti rimane nel gioco, invisibile.
var rise = create_tween()
rise.tween_property(label, "position:y", label.position.y - 40, 0.6)Il primo valore di tween_property è il nodo da modificare. In questo caso è label, non self.
Sfida
MedioFai fluttuare via -1.
- Dopo aver aggiunto l'etichetta, anima la sua
"position:y"di 40 pixel verso l'alto in0.6secondi. - In parallelo, anima la sua
"modulate:a"fino a0.0. - Attendi il completamento dell'animazione con
awaitefinished, poi chiamalabel.queue_free().
Premi «Gioca» e premi E: il -1 sale e svanisce. Poi premi «Verifica».
Provalo tu
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
var label = Label.new()
label.text = "-1"
label.modulate = Color(1, 0.42, 0.42)
label.position = position + Vector2(-8, -110)
get_parent().add_child(label)
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Sensazioni di gioco
Esercitati da solo: Playground Godot