jueves, 19 de febrero de 2026

GDScript efecto de fogonazo y de sonido de flas de camara de fotos, Godot 4.6;

 extends OmniLight3D


@export var energia_maxima : float = 10.0  # Potencia del flash (¡Más potente!)

@export var tiempo_espera : float = 10.0   # Cada cuánto dispara (Más lento)

@export var velocidad_apagado : float = 5.0 # Suavidad al apagarse


# Referencia al sonido hijo de esta luz

@onready var sonido_flash = $AudioStreamPlayer3D


func _ready():

# Ponemos la luz a cero al empezar

light_energy = 0.0

# Iniciamos el bucle de fotos

_hacer_foto()


func _process(delta):

# Si la luz está encendida, que se vaya apagando poco a poco

if light_energy > 0:

light_energy = lerp(light_energy, 0.0, velocidad_apagado * delta)


func _hacer_foto():

while true:

# 1. Esperamos los 10 segundos configurados

await get_tree().create_timer(tiempo_espera).timeout

# 2. ¡DISPARO!

light_energy = energia_maxima

# Sonamos el flash

if sonido_flash:

sonido_flash.play()

print("¡Flash potente! Foto del segundo personaje capturada")

# El código vuelve arriba y espera