Menu
CoddyTech

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.

challenge icon

Desafío

Intermedio

Haz que el -1 se aleje flotando. Después de añadir la etiqueta:

  1. anima su "position:y" 40 píxeles hacia arriba en 0.6 segundos,
  2. en paralelo, anima su "modulate:a" hasta 0.0,
  3. haz await del finished de la animación y después label.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)
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de Godot