Sistema de asteroides - Movimiento

El sistema de movimiento de asteroides gestiona el desplazamiento vertical de todos los asteroides en pantalla y elimina aquellos que ya han salido de los límites visibles para optimizar el rendimiento.

codeImplementación

func _mover_asteroides(delta: float):
  # Los asteroides caen hacia abajo a velocidad constante
  for i in asteroides.size():
    asteroides[i].position.y += vel_asteroides * delta

  # Eliminamos los que ya salieron de la pantalla
  asteroides = asteroides.filter(
    func(o): return o.position.y < pantalla.y
  )

arrow_downwardProceso de movimiento

loop
Iteración
Recorre todos los asteroides en la lista
speed
Desplazamiento
Actualiza posición Y con velocidad × tiempo
filter_list
Filtrado
Elimina asteroides fuera de pantalla
timer
Uso de delta para movimiento independiente de la tasa de frames
delete_sweep
La función filter() crea una nueva lista solo con los asteroides visibles

tuneParámetros de configuración

fast_forward
vel_asteroides = 250.0 - Velocidad vertical inicial en píxeles/segundo
height
Un asteroide se elimina cuando su posición Y supera pantalla.y
functions
Cálculo de desplazamiento: position.y += vel_asteroides * delta
auto_fix_high
La velocidad de los asteroides aumenta progresivamente durante el juego
memory
El filtrado de asteroides fuera de pantalla optimiza el uso de memoria