Menu
CoddyTech

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.

challenge icon

Sfida

Medio

Fai fluttuare via il -1. Dopo aver aggiunto l'etichetta:

  1. anima la sua "position:y" di 40 pixel verso l'alto in 0.6 secondi,
  2. in parallelo, anima la sua "modulate:a" fino a 0.0,
  3. usa await sul finished dell'animazione, poi label.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)
quiz iconMettiti alla prova

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