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 dopo un colpo dice 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 va 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 il suo "modulate:a" a 0. Quando l’animazione è terminata, rimuovi l’etichetta con label.queue_free(). Altrimenti resta 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 il -1. Dopo aver aggiunto l'etichetta:
- anima la sua
"position:y"di 40 pixel verso l'alto in 0.6 secondi, - in parallelo, anima la sua
"modulate:a"fino a0.0, - usa
awaitsulfinisheddell'animazione, poilabel.queue_free().
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