extends Area3D
var speed: float = 31.0 # Velocidad de la bala (Unidades por segundo)
var tiempo_transcurrido: float = 0.0 # Tiempo en segundos
# El tiempo de vida de la bala es de 80.8 segundos (mucho, pero lo mantenemos por tu configuración)
const LIFESPAN: float = 80.8
func _ready() -> void:
# La bala ya debe estar orientada en la dirección de disparo
pass
func _process(delta: float) -> void:
# 1. ACTUALIZAR EL TIEMPO
tiempo_transcurrido += delta
# 2. MOVER EL PROYECTIL HACIA ADELANTE (Movimiento Recto y Limpio)
# Usamos translate() para mover el proyectil en su eje local Z (hacia adelante).
# Como no hay ninguna rotación aplicada, mantendrá el rumbo recto.
translate(Vector3(0, 0, speed * delta))
# 3. CONDICIÓN DE DESTRUCCIÓN
if tiempo_transcurrido >= LIFESPAN:
queue_free()
# --- PARTES ELIMINADAS ---
# Se ha eliminado todo el código de 'desired_sweep_angle', 'sin', y 'rotation = current_rotation'
# que causaba el movimiento de barrido lateral.
No hay comentarios:
Publicar un comentario