martes, 9 de junio de 2026

Instanciar un objeto con GDScript para Godot 4.6.3; y desistanciarlo;

 extends Area3D


# 1. Al usar @export, la escena aparecerá en el Inspector a la derecha.

# Podrás arrastrar el archivo .tscn que quieras meter desde tu Sistema de Archivos.

@export var escena_a_instanciar: PackedScene


# 2. Variable para recordar el elemento que hemos creado y poder borrarlo luego

var elemento_actual: Node = null


# SEÑAL 1: Al entrar en el área, fabricamos el elemento

func _on_area_entered(area: Area3D) -> void:

# Comprobamos si has arrastrado alguna escena en el Inspector

if escena_a_instanciar == null:

print("⚠️ ¡Aviso! No has arrastrado ninguna escena en el Inspector de este Area3D")

return

# ¡Instanciamos el elemento en la memoria!

elemento_actual = escena_a_instanciar.instantiate()

# Lo añadimos al mapa

get_parent().add_child(elemento_actual)

# Lo colocamos en la posición exacta de este Area3D

if elemento_actual is Node3D:

elemento_actual.global_position = self.global_position


# SEÑAL 2: Al salir del área, lo borramos de golpe

func _on_area_exited(area: Area3D) -> void:

# Si el elemento existe en el juego, le metemos el tijeretazo

if is_instance_valid(elemento_actual):

elemento_actual.queue_free()  # Lo elimina por completo de la pantalla y la memoria

elemento_actual = null        # Vaciamos la variable para el siguiente toque



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

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

Explicacion. : Este GDScript sirve para que un Area3d con su colisionador, al toparse con otro Area3d y otro colisionador instancie un elemento en escena en este caso un baston, al retirarse desaparece el baston.....lo bueno de este GDscript esque puedes arrastrar al inpector el elemento que quieras se instancie....una  tscn  una escena.....@export var escena_a_instanciar: PackedScene





No hay comentarios:

Publicar un comentario