domingo, 16 de noviembre de 2025

GDScript para proyectil continuo;; Godot 4.5;

 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