Foro Godot

Ayuda Godot => Programación => Mensaje iniciado por: Alex Night en 01 de Septiembre del 2017, 03:23

Título: [SOLUCIONADO] destruir un objeto instanciado
Publicado por: Alex Night en 01 de Septiembre del 2017, 03:23
Buenas quisiera hacer una consulta:

tengo un objeto instanciado   por el editor, no por codigo, y quiero saber como hacer para destruirlo cuando la variable "vidas_personaje" sea igual a cero..
como puedo acceder a ese nodo instanciado y hacer el queue_free()

aclaro que el script es del nodo del player, pero no encuentro la forma de acceder a este otro nodo ya instanciado y destruirlo..
la solucion seria emitir una señal por codigo?






Título: Re:destruir un objeto instanciado
Publicado por: davidoc en 01 de Septiembre del 2017, 18:56
Usa get_node, depende de dónde esté localizado del nodo:

Escena
--Player

Puedes usar:

get_node("/root/Escena/Player").queue_free()
Título: Re:destruir un objeto instanciado
Publicado por: CesarL2002 en 02 de Septiembre del 2017, 00:15
No es tan difícil. Si creaste la instancia así:
var NombreDeVariable

func NOMBREdeFUNCION():
   NombreDeVariable.instance()

Sólo tienes que escribir: NombreDeVariable.queue_free()
o desde otra instancia poner: get_node("NODO").NombreDeVariable.queue_free()
Título: Re:destruir un objeto instanciado
Publicado por: Alex Night en 04 de Septiembre del 2017, 08:23
gracias a ambos, el problema era que no sabia que primero debia acceder al ROOT de los nodos para tener acceso a otro nodo y modificarlo!
 :)

ya esta solucionado saludos!