Números flotantes
Parte de la sección Sensación de juego del Journey de Godot de Coddy. Lección 19 de 23.
Un número que flota hacia arriba al recibir un golpe le indica al jugador lo que ocurrió.
El hit() del robot ya crea un Label que muestra -1 sobre su cabeza. Al igual que las astillas de la caja, la etiqueta se añade a get_parent(), así que no se mueve ni parpadea con el robot.
Para hacer que flote, anima su "position:y" hacia arriba y su "modulate:a" hasta 0 al mismo tiempo. Cuando termine la animación, elimina la etiqueta con label.queue_free(). De lo contrario, permanecerá en el juego, invisible.
var rise = create_tween()
rise.tween_property(label, "position:y", label.position.y - 40, 0.6)El primer valor de tween_property es el nodo que se va a cambiar. En este caso es label, no self.
Desafío
IntermedioHaz que el -1 se aleje flotando. Después de añadir la etiqueta:
- anima su
"position:y"40 píxeles hacia arriba en 0.6 segundos, - en paralelo, anima su
"modulate:a"hasta0.0, - haz
awaitdelfinishedde la animación y despuéslabel.queue_free().
Pruébalo tú mismo
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)
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Sensación de juego
1Interpolaciones
Tu primera interpolaciónInterpola cualquier propiedadDesvanecerSalida suaveUna tras otraAl mismo tiempoUna moneda que salta4Destellos y retroalimentación
Destello al recibir un golpePausa al recibir un golpeCompresión y estiramientoNúmeros flotantesPractica por tu cuenta: Playground de Godot