sábado, 22 de marzo de 2025

GDScript en Godot 4.4 extends AudioStreamPlayer3D alterna el sonido y lo disminuye y aumenta aleatoriamente;

 extends AudioStreamPlayer3D


@export var min_interval: float = 2.5

@export var max_interval: float = 3.5

@export var fade_out_duration: float = 1.0 # Duración del fade-out en segundos.

@export var fade_in_duration: float = 0.5 # Duración del fade-in en segundos.


var timer: float = 0.0

var is_playing: bool = false

var fade_timer: float = 0.0

var initial_volume: float = 0.0


func _ready():

    timer = randf_range(min_interval, max_interval)

    initial_volume = volume_db


func _process(delta):

    timer -= delta

    fade_timer -= delta


    if timer <= 0.0:

        if is_playing:

            # Inicia el fade-out.

            fade_timer = fade_out_duration

        else:

            # Inicia el fade-in.

            fade_timer = fade_in_duration

            play()


        is_playing = !is_playing

        timer = randf_range(min_interval, max_interval)


    # Efecto de fade-out/fade-in.

    if fade_timer > 0.0:

        if is_playing:

            # Fade-in.

            volume_db = lerp(-80.0, initial_volume, 1.0 - (fade_timer / fade_in_duration))

        else:

            # Fade-out.

            volume_db = lerp(initial_volume, -80.0, 1.0 - (fade_timer / fade_out_duration))

    elif is_playing:

        volume_db = initial_volume #aseguramos que el volumen este al original cuando termina el fade in.

GDScript en Godot 4.4 AudioStreamPlayer3D reproduzca y pause el sonido aleatoriamente cada 8 segundos;

 extends AudioStreamPlayer3D


@export var min_interval: float = 8 # Intervalo mínimo en segundos.

@export var max_interval: float = 8 # Intervalo máximo en segundos.


var timer: float = 0.0

var is_playing: bool = false


func _ready():

# Inicia el temporizador con un intervalo aleatorio.

timer = randf_range(min_interval, max_interval)


func _process(delta):

timer -= delta


if timer <= 0.0:

# Alterna el estado de reproducción.

if is_playing:

stop()

else:

play()


is_playing = !is_playing


# Reinicia el temporizador con un nuevo intervalo aleatorio.

timer = randf_range(min_interval, max_interval)

extends Label GDScript en Godot 4.4 para escalar un texto aleatoriamente y variar su color;

 extends Label


@export var min_scale: float = 1.0

@export var max_scale: float = 1.2

@export var speed: float = 0.4

@export var min_color: Color = Color(1.0, 0.0, 0.0) # Rojo

@export var max_color: Color = Color(1.0, 1.0, 1.0) # Blanco


var scale_direction: int = 1

var current_scale: float = 1.0


func _process(delta):

current_scale += scale_direction * speed * delta


if current_scale > max_scale:

current_scale = max_scale

scale_direction = -1

elif current_scale < min_scale:

current_scale = min_scale

scale_direction = 1


scale = Vector2(current_scale, current_scale)


# Interpolación del color

var color_ratio = (current_scale - min_scale) / (max_scale - min_scale)

modulate = min_color.lerp(max_color, color_ratio)

extends Label GDScript en Godot 4.4 para aumentar y disminuir el tamaño del texto de forma aleatoria;

 extends Label


@export var min_scale: float = 1.0  # Escala mínima del Label

@export var max_scale: float = 1.2  # Escala máxima del Label

@export var speed: float = 0.3  # Velocidad de la animación


var scale_direction: int = 1  # 1 para aumentar, -1 para disminuir

var current_scale: float = 1.0


func _process(delta):

# Actualiza la escala actual

current_scale += scale_direction * speed * delta


# Invierte la dirección si alcanza los límites

if current_scale > max_scale:

current_scale = max_scale

scale_direction = -1

elif current_scale < min_scale:

current_scale = min_scale

scale_direction = 1


# Aplica la escala al Label

scale = Vector2(current_scale, current_scale)

sábado, 15 de marzo de 2025

GDScript para Godot 4.4 imita efecto de parpadeo de luz de una antorcha;

 extends OmniLight3D


@export var intensidad_base: float = 1.0  # Intensidad base de la luz

@export var rango_variacion: float = 0.5  # Rango de variación de la intensidad

@export var velocidad_parpadeo: float = 5.0  # Velocidad de parpadeo


func _process(delta):

# Genera un valor aleatorio dentro del rango de variación

var variacion = randf_range(-rango_variacion, rango_variacion)


# Calcula la nueva intensidad de la luz

var nueva_intensidad = intensidad_base + variacion


# Aplica la nueva intensidad a la luz

light_energy = nueva_intensidad


# Modifica el rango de la luz para simular el parpadeo

var variacion_rango = randf_range(-0.2, 0.2)

omni_range = 9 + variacion_rango # Puedes ajustar el rango base (5)

martes, 11 de marzo de 2025

a10 y a30 ;

 

lunes, 10 de marzo de 2025

Sobre usar musica sin derechos de autor para desarrollos de videojuegos; "CCO";

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

 Es muy complicado hacer musica si ser musico, algo se puede hacer si a base de ritmos y combinaciones, pero es mas facil asesorarse sobre archivos musicales libres de derechos de autor, asi que consulte a la IA y me resumio sobre "CCO".


En resumen:

  • Si ves "CC0", puedes usar la música sin preocupaciones.
  • No necesitas pedir permiso ni dar atribución.
  • Disfruta de la libertad de usar la música en tus videojuegos y otros proyectos.

Por lo cual, si ves claramente "CCO" junto al archivo, puedes usarlo sin ningun problema.


Es bueno tenerlo en cuenta, es muy facil meter la pata, asi que ya sabeis......"CCO" es una buena opcion.

☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝