Hola Visitante

[SOLUCIONADO] destruir un objeto instanciado

  • 3 Respuestas
  • 674 Vistas
*

Alex Night

  • *
  • 8
  • +0/-0
    • Ver Perfil
[SOLUCIONADO] destruir un objeto instanciado
« 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?






« Última modificación: 05 de Septiembre del 2017, 14:33 por Capa »

*

davidoc

  • *
  • 4
  • +1/-0
    • Ver Perfil
Re:destruir un objeto instanciado
« Respuesta #1 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()

*

CesarL2002

  • *
  • 2
  • +1/-0
    • Ver Perfil
Re:destruir un objeto instanciado
« Respuesta #2 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()

*

Alex Night

  • *
  • 8
  • +0/-0
    • Ver Perfil
Re:destruir un objeto instanciado
« Respuesta #3 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!