Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Coger objeto (para Android)

Iniciado por infotronica, Marzo 15, 2017, 07:39:41 PM

Tema anterior - Siguiente tema
Cita de: ytinU date=1489854436Si le pasas directamente el GO no importa si esta desactivado.
   
   
      Lo que quieres hacer no es mediante UI(aunque se puede), según dijiste quieres que la llave desaparesca al tocarlo, para eso que es un GO utiliza los raycast de moyinzunza, pero si lo quieres hacer mediante UI bastaria con OnClick.
   
   
      Siempre me motivo con "Para ser bueno en algo, debes ser malo al principio" luego me da un bajon y pido ayuda aquí xD.
   


Sí, sí... yo me refiero para hacer con UI, es solo utilizando OnClick(), pero es lo que te digo que no sé como hacer que cuando pulse el botón desaparezca jaja.
 
Porque directamente cuando inicio desaparece, yo lo que quiero es que la acción de desaparecer no la haga hasta que no pulse el botón. :(

Marzo 18, 2017, 06:22:28 PM #16 Ultima modificación: Marzo 18, 2017, 06:24:15 PM por ytinU
Cita de: infotronica date=1489857435Sí, sí... yo me refiero para hacer con UI, es solo utilizando OnClick(), pero es lo que te digo que no sé como hacer que cuando pulse el botón desaparezca jaja.
   
   
      Porque directamente cuando inicio desaparece, yo lo que quiero es que la acción de desaparecer no la haga hasta que no pulse el botón. :(
   


Crear una función pública, adjuntarlo en cualquier GO activo, ese mismo ponerlo en runtime del OnClick, una vez hecho esto al costado del Runtime en onclick aparece no funciton le das click ahí te aparece una lista de los scripts seleccionas el que creaste y lo despliegas despues buscas y seleccionas la función que creaste(donde se destruye la llave) y listo funcionará!!.
 
Vamos que es lo mismo que dijo moyinzunza.

Mira este video
 
" width="560">
 
esta en ingles pero bueno aunque no entiendas el ingles en el video se entiende perfecto que tienes que hacer

Marzo 18, 2017, 08:23:00 PM #18 Ultima modificación: Marzo 18, 2017, 09:38:58 PM por pioj
Cita de: ytinU date=1489857748Crear una función pública, adjuntarlo en cualquier GO activo, ese mismo ponerlo en runtime del OnClick, una vez hecho esto al costado del Runtime en onclick aparece no funciton le das click ahí te aparece una lista de los scripts seleccionas el que creaste y lo despliegas despues buscas y seleccionas la función que creaste(donde se destruye la llave) y listo funcionará!!.
   
   
      Vamos que es lo mismo que dijo moyinzunza.
   


Muchas gracias voy a probar :)
 
Cita de: moyinzunza date=1489864878Mira este video
   
   
      
" width="560">
   
   
      esta en ingles pero bueno aunque no entiendas el ingles en el video se entiende perfecto que tienes que hacer
   


Muchas Gracias enseguida lo miro :)
 
Cita de: ytinU date=1489857748Crear una función pública, adjuntarlo en cualquier GO activo, ese mismo ponerlo en runtime del OnClick, una vez hecho esto al costado del Runtime en onclick aparece no funciton le das click ahí te aparece una lista de los scripts seleccionas el que creaste y lo despliegas despues buscas y seleccionas la función que creaste(donde se destruye la llave) y listo funcionará!!.
   
   
      Vamos que es lo mismo que dijo moyinzunza.
   


He hecho la siguiente script:
 



   
       
   
   
      #pragma strict
      var llave:GameObject;
      function Start () {
          //Destroy(llave);
      }
       public function Destruir()
      {
          llave.active=false; // también he probado con Destroy(llave)
      }
   
   
      function Update () {
          
      }
   
   
       
   

[/quote]
 
He hecho lo que me habéis comentado de poner la script al gameobject(llave) y ese gameobject añadirlo a OnClick y luego a la derecha donde ponía no Function he puesto, click(asi se llama mi script) y después he puesto Destruir ya que es la función pública que llama a la acción.
 
Adjunto una imagen:
 

Cita de: infotronica date=1489864980Muchas gracias voy a probar :)
   
   
      Muchas Gracias enseguida lo miro :)
   
   
      He hecho la siguiente script:
   
   
      He hecho lo que me habéis comentado de poner la script al gameobject(llave) y ese gameobject añadirlo a OnClick y luego a la derecha donde ponía no Function he puesto, click(asi se llama mi script) y después he puesto Destruir ya que es la función pública que llama a la acción.
   
   
      Adjunto una imagen:
   
   
      
   


mmm no se mucho de js pero no deberia ser
 

this.SetActive (false);

 
por que el script se lo pusiste directamente a tu llave? 

Cita de: moyinzunza date=1489869852mmm no se mucho de js pero no deberia ser
   
   

this.SetActive (false);

   
      por que el script se lo pusiste directamente a tu llave? 
   


Mmmm, tu me habías dicho: " ah debes crear un gameobject ponerlo en tu escena y a ese gameobject asignarle tu script luego si miras mi imagen justo debajo de donde dice Runtime C# ahi agregas tu gameobject que tiene tu script y ya puedes llamar todos los metodos que esten dentro del script "
 
A lo mejor lo he entendido yo mal jaja, lo que había entendido es que creara mi gameobject (llave que tengo creada) y la pongo en mi escena, y a este gameobject(llave) le asigno la script ( porque yo añado una var llave:GameObject; en mi script, y después arrastro mi GameObject con mi a "OnClick()" 
 
Cuanta lata me está dando esto, yo pensaba es sencillo solo es:
 
Cuando pulse el botón desaparece la llave y me está dando demasiados problemas.
 
 

Pues de hecho es sencillo...., lo que pensó moyinzunza era que crearias una función pública pero al ver que lo pusiste en el Update te dijo eso.
 
Solo recordar que si quieres hacer que al pulsar un botón suceda algo crear función pública.

Marzo 19, 2017, 02:12:35 AM #22 Ultima modificación: Marzo 19, 2017, 10:49:45 PM por pioj
Cita de: ytinU date=1489885569Pues de hecho es sencillo...., lo que pensó moyinzunza era que crearias una función pública pero al ver que lo pusiste en el Update te dijo eso.
   
   
      Solo recordar que si quieres hacer que al pulsar un botón suceda algo crear función pública.
   


Sí, es lo que te he comentado antes que tengo hecho:
 



   
       
   
   
      #pragma strict
      var llave:GameObject;
      function Start () {
         
      }
       public function Destruir()
      {
          llave.active=false; // también he probado con Destroy(llave)
      }
   
   
      function Update () {
          
      }
   
   
       
   

[/quote]
 
 
 
Pero al asignarle en Onclick()  el gameobject con el script añadido en él.. tras arrastrar dicho gameobject y seleccionar a la derecha la función Destruir(función publica)  como he adjuntado en la foto que te he citado en el mensaje anterior, no me funciona, cuando pulso el botón no pasa nada jaja.

Ah pues hombre di que no funciona xD..
 
Tengo una duda que ha estado rondando mi cabeza, al GO le agregaste un button?

Cita de: ytinU date=1489886473Ah pues hombre di que no funciona xD..
   
   
      Tengo una duda que ha estado rondando mi cabeza, al GO le agregaste un button?
   


jajaja si lo he dicho antes xDD
 
si le agregué al GO un button? mmm no... yo el button lo tengo en el UI, es decir, en el canvas, pero al gameobject no le he añadido boton

Esta bien entonces, prueba poner en tu función..
 

public function Destruir()
{
  print("Hola");
}

 
si en consola te pone 'Hola' entonces no es la función, obviamente apretando el botón.

Cita de: ytinU date=1489887257Esta bien entonces, prueba poner en tu función..
   
   

public function Destruir()
{
  print("Hola");
}

   
      si en consola te pone 'Hola' entonces no es la función, obviamente apretando el botón.
   


Vale... no me aparece el mensaje en consola cuando aprieto el botón. Hay algo que falla.. jaja

Cita de: infotronica date=1489887470Vale... no me aparece el mensaje en consola cuando aprieto el botón. Hay algo que falla.. jaja
   


Quizás es porque el objeto donde adjuntaste el script esta desactivado? no sé si sera eso....

Marzo 19, 2017, 02:47:28 AM #28 Ultima modificación: Marzo 19, 2017, 10:49:59 PM por pioj
Cita de: ytinU date=1489887607Quizás es porque el objeto donde adjuntaste el script esta desactivado? no sé si sera eso....
   


No.. El objeto está activado que extraño.
 
Tengo mi mi objeto(llave) activada con la script siguiente:
 



   
       
   
   
      #pragma strict
      var ObjetoAdestruir : GameObject;
      function Start () {
          
      }
       public function Destruir()
      {
   
   
          ObjetoAdestruir .active=false;
      }
   
   
      function Update () {
          
      }
   
   
       
   

[/quote]
 
Donde seguidamente arrastro el mismo objeto(llave) al inspector  donde me pondrá ObjetoAdestruir: y aquí arrastro la misma llave donde está el script.
 
Tras esto voy a mi botón y donde pone OnClick(); arrastro el objeto (llave) que contiene la script y con el mismo GameObject(llave) arrastrado, por último a la derecha selecciono mi función pública: Destruir()
 
Hago este resumen para comprobar que he seguido los pasos correctamente, un saludo! :) 

Marzo 19, 2017, 02:47:43 AM #29 Ultima modificación: Marzo 19, 2017, 02:48:37 AM por lightbug
Me pesco en el topic, no para aportar nada con precision pero pregunto, simplemente queres desactivar a la llave?, en los eventos del boton metes la llave (la arrastras, la de la escena) y en las funciones seleccionas  GameObject/SetActive ... listo

Etiquetas: