Movimiento del jugador

El sistema de movimiento del jugador permite controlar la nave horizontalmente en la parte inferior de la pantalla. Utiliza variables de control y cálculos independientes de la tasa de frames para garantizar un movimiento fluido.

codeImplementación

func _mover_jugador(delta: float):
  var dir = 0 # Dirección: -1 izquierda, 0 quieto, +1 derecha

  # Revisamos qué bandera de control está activa
  if tocando_izquierda: dir = -1
  elif tocando_derecha: dir = +1

  # Calculamos nueva posición con velocidad * tiempo * dirección
  jugador.position.x = clamp(
    jugador.position.x + dir * vel_jugador * delta,
    0, pantalla.x - TAM_JUGADOR
  )

speedCaracterísticas del movimiento

flag
Variables
Controlan la dirección del movimiento
calculate
Cálculo
Posición = velocidad × tiempo
block
Límites
Restringe movimiento a la pantalla
timer
Uso de delta para movimiento independiente de la tasa de frames
swap_horiz
Variable dir determina dirección (-1: izquierda, 0: quieto, +1: derecha)

tuneParámetros de configuración

fast_forward
vel_jugador = 500.0 - Píxeles por segundo que se moverá el jugador
straighten
TAM_JUGADOR = 128 - Tamaño en píxeles de la nave
border_outer
clamp() - Función que limita el valor entre un mínimo y un máximo
compare_arrows
Límites: desde 0 (borde izquierdo) hasta pantalla.x - TAM_JUGADOR (borde derecho)