martes, 19 de noviembre de 2024

Una forma de destruir por tiempo una camara con Godot4.3, echo en GDScript, juego en 3d;

extends Camera3D


# Tiempo en segundos antes de autodestruirse

var self_destruct_time = 14.0

var elapsed_time = 0.0


func _process(delta: float) -> void:

elapsed_time += delta

if elapsed_time >= self_destruct_time:

queue_free()


domingo, 17 de noviembre de 2024

GGDScript borra por tiempo, barra de vida y sus hijos; Ejemplos de barra de vida; Ejemplo asociado a otro objeto que es borrado tambien;

 extends ProgressBar


func _ready() -> void:

value = 0


func _process(delta: float) -> void:

value += 0.01


if value >= 100:

# Recorremos todos los hijos del ProgressBar y los eliminamos

for child in get_children():

child.queue_free()

# Eliminamos el ProgressBar

queue_free()



Gdscript Godot 4.3 barra de vida; aumenta por tiempo el valor asta el 100%; Practicas de barra de vida en Godot 4.3; una variante borra el ProgressBar;

 extends ProgressBar


func _ready():

# Establecemos un valor inicial para la barra de progreso

value = 0


func _process(delta):

# Incrementamos el valor de la barra de progreso en cada frame

value += 0.01


# Si el valor llega a 100, eliminamos el nodo padre (StaticBody3D)

if value >= 100:

queue_free()  # Esta función elimina el nodo actual (ProgressBar)

# Como el ProgressBar es hijo del StaticBody3D, al eliminar el hijo, el padre también se elimina

Gdscript Godot 4.3 barra de vida; aumenta por tiempo el valor asta el 100%; Practicas de barra de vida en Godot 4.3;

 extends ProgressBar


# Called when the node enters the scene tree for the first time.

func _ready() -> void:

# Set the initial value of the progress bar

value = 0


# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta: float) -> void:

# Increment the progress bar's value

value += 0.01


# Reset the value when it reaches 100

if value > 100:

value = 0

jueves, 14 de noviembre de 2024

Sencillisimo GDScript para producir el temblor de un CSGBox3D;

 extends CSGBox3D


var amplitud = 0.1

var velocidad = 2.0


func _process(delta: float) -> void:

transform.origin.z += randf_range(-amplitud * velocidad * delta, amplitud * velocidad * delta)



-------------------------------------------------------------------------------------------------------------------------

variante con efecto mas acusado...........

-----------------------------------------------------------------------------------------------------------------------------

extends CSGBox3D


var amplitud = 0.4

var velocidad = 5.0


func _process(delta: float) -> void:

transform.origin.z += randf_range(-amplitud * velocidad * delta, amplitud * velocidad * delta)


miércoles, 13 de noviembre de 2024

Un MeshInstance3D, asciende lentamente en eje "y" y se borra a los 25 segundos; Godot 4.3;

 extends MeshInstance3D

var speed = 0.05  # Unidades por segundo

var tiempo_transcurrido = 0.0  # Tiempo en segundos


# Called when the node enters the scene tree for the first time.

func _ready() -> void:

pass # Replace with function body.



# Called every frame. 'delta' is the elapsed time since the previous frame.

func _process(delta: float) -> void:

#var movimiento = Vector3(speed * delta, 0, 0)

var movimiento = Vector3( 0,speed * delta, 0)

#var movimiento = Vector3(speed * delta, 0, 0)

# Aplicar el movimiento a la posición del nodo

translate(movimiento)


# Actualizar el tiempo transcurrido

tiempo_transcurrido += delta


# Eliminar el nodo después de 2 segundos

if tiempo_transcurrido >= 25.0:

queue_free()

pass