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 después de un golpe le indica al jugador qué 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 agrega a get_parent(), así que no se mueve ni parpadea junto 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, permanece 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 -1 se aleje flotando.
- Después de añadir la etiqueta, interpola su
"position:y"40 píxeles hacia arriba en0.6segundos. - En paralelo, interpola su
"modulate:a"hasta0.0. - Usa
awaitconfinishedde la interpolación y después llama alabel.queue_free().
Pulsa «Jugar» y pulsa E: el -1 sube y se desvanece. Después, pulsa «Comprobar».
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