martes, 19 de noviembre de 2024

GDScript aparece y desaparece un nodo; este es de un tipo Node3D; ago efecto de un fantasma;

 extends Node3D


var timer = 0.0

var blink_speed = 0.4  # Ajusta la velocidad de parpadeo


func _process(delta: float) -> void:

timer += delta

if timer >= blink_speed:

timer = 0.0

visible = not visible

MeshInstance3D aparece y desaparece constantemente , GDScript para Godot 4.3;

 extends MeshInstance3D


var timer = 0.0

var blink_speed = 0.4  # Ajusta la velocidad de parpadeo


func _process(delta: float) -> void:

timer += delta

if timer >= blink_speed:

timer = 0.0

visible = not visible

Sencillisimo GDScript, lo que entra dentro de un Area3d, borra todos sus hijos; todo su contenido;

 extends Area3D



# 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:

pass



func _on_area_entered(area: Area3D) -> void:

queue_free()

pass # Replace with function body.

Una forma de destruir por tiempo una camara con Godot4.3, echo en GDScript, juego en 3d; y añadi que gire con un rotate_y(0.001);

 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

rotate_y(0.001)

if elapsed_time >= self_destruct_time:

queue_free()

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