martes, 13 de febrero de 2024

DOS SCRIPTS GDSCRIPT ,PARA INSTANCIAR PARTICULAS Y PARA BORRAR AREA3D POR TIMER;

 extends Area3D


var Particulas = preload("res://GRAFICOS/TERRENO MONTAÑAS ETC/SOLOPARTICULASARMA.tscn")

var particulas_instanciadas: Node = null


func _ready():


pass # Replace with function body.


func _input(event):


if event is InputEventMouseButton:


if event.button_index == 1:

# Instanciar partículas al presionar el botón

if event.pressed:

particulas_instanciadas = Particulas.instantiate()

add_child(particulas_instanciadas)

# Eliminar partículas al soltar el botón

else:

if particulas_instanciadas:

#particulas_instanciadas.queue_free()

particulas_instanciadas = null




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

extends Area3D


var tiempo_de_vida = 1.0 # Duración en segundos antes de eliminar el Area3D


func _ready():

# Iniciar el temporizador

get_node("Timer_EliminarArea3D").start(tiempo_de_vida)





func _on_timer_eliminar_area_3d_timeout():

queue_free()

pass # Replace with function body.


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

EXPLICACION DE PORQUE ANOTO ESTOS DOS SCRIPTS GDSCRIPT:

Programar tiene miga, un script puede entrar en conflicto con otro script y bloquear el juego,

En el script de arriba del todo instancio unas particulas al presionar el boton del mouse, en el script de devajo de verde y la linea verde del primero, es para que en 1 segundo se borren esas particulas esa area 3d, entonces tuve que anular esta linea señalada de verde del script superior, y cuando disparo hace el fogonazo un segundo y ya esta que es lo que queria conseguir...#particulas_instanciadas.queue_free()

el signo # ala izquierda de las lineas anula la linea.......(continuara ...me lo paso pipa..............)