Sistema de UI - Tiempo

El sistema de UI para el tiempo muestra y actualiza el cronómetro de supervivencia del jugador. Se implementa mediante una etiqueta (Label) que se actualiza en cada frame mientras el jugador está activo.

codeImplementación

func _crear_ui_tiempo():
  # Crea la etiqueta que muestra el tiempo de supervivencia
  etiqueta_tiempo = Label.new()
  etiqueta_tiempo.text = "0.0 s"
  etiqueta_tiempo.set("theme_override_font_sizes/font_size", TAM_TEXTO)
  etiqueta_tiempo.visible = true
  add_child(etiqueta_tiempo)

func _actualizar_tiempo(delta: float):
  # Si seguimos vivos, sumamos delta al cronómetro
  if not muerto:
    tiempo_total += delta
  # Redondeamos con un decimal
  etiqueta_tiempo.text = str(snappedf(tiempo_total, 0.1)) + " s"

timerProceso de actualización

add_box
Creación
Inicializa etiqueta con texto inicial
update
Actualización
Suma delta al tiempo total
format_list_numbered
Formateo
Redondea a un decimal
visibility
La etiqueta se oculta al morir (etiqueta_tiempo.visible = false)
text_format
Tamaño de texto controlado por theme_override_font_sizes/font_size

tuneCaracterísticas clave

calculate
tiempo_total - Acumulador de segundos transcurridos
straighten
TAM_TEXTO = 25 - Tamaño de fuente para las etiquetas
functions
snappedf(valor, paso) - Redondea con un paso específico
add_circle
La etiqueta se añade como nodo hijo mediante add_child()
refresh
Se actualiza en cada frame desde _process()