Foro Godot

Búsqueda Avanzada  

Noticias:

[31-07-2017] Creado el foro de Godot Engine en español !!!

Autor Tema: [SOLUCIONADO] destruir un objeto instanciado  (Leído 283 veces)

Alex Night

  • Newbie
  • *
  • Karma: +0/-0
  • Mensajes: 8
    • 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 »
En línea

davidoc

  • Newbie
  • *
  • Karma: +1/-0
  • Mensajes: 4
    • 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()
En línea

CesarL2002

  • Newbie
  • *
  • Karma: +1/-0
  • Mensajes: 2
    • 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()
En línea

Alex Night

  • Newbie
  • *
  • Karma: +0/-0
  • Mensajes: 8
    • 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!
En línea