Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: unOOld en Junio 01, 2016, 10:57:33 PM

Título: Duda input.touch para juego en android
Publicado por: unOOld en Junio 01, 2016, 10:57:33 PM
Buen Dia a todos, quisiera consultarles una duda que tengo, para que los dialogos de mi juego comienzen a correr yo tenia de condicion Input.GetMouseButtonDown(0) sin embargo claramente al pasar mi juego al cel no me funciona, que tipo de input.touch puedo utilizar que equivalga a cada vez que el jugador haga click pase al siguiente dialogo  y sea valida para ponerla en una condición, intente leerlo en el manual de unity pero poco entiendo
 
Gracias por leer.  
 
esto era lo que tenia 
 

if ( Input.GetMouseButtonDown(0) && playerTalking == false  )
            {
                ShowDialogue();
                lineNum++;
           
            }

 
 
Título: Duda input.touch para juego en android
Publicado por: Null en Junio 02, 2016, 04:49:03 AM
Cita de: unOOld date=1464814653Buen Dia a todos, quisiera consultarles una duda que tengo, para que los dialogos de mi juego comienzen a correr yo tenia de condicion Input.GetMouseButtonDown(0) sin embargo claramente al pasar mi juego al cel no me funciona, que tipo de input.touch puedo utilizar que equivalga a cada vez que el jugador haga click pase al siguiente dialogo  y sea valida para ponerla en una condición, intente leerlo en el manual de unity pero poco entiendo
   
   
      Gracias por leer.  
   
   
      esto era lo que tenia 
   
   

if ( Input.GetMouseButtonDown(0) && playerTalking == false  )
            {
                ShowDialogue();
                lineNum++;
           
            }

   
       
   


Si no me equivoco se usa el TouchPhase.Began,

que es cuando el usuario toca la pantalla.


Mira,
http://docs.unity3d.com/ScriptReference/TouchPhase.html (http://docs.unity3d.com/ScriptReference/TouchPhase.html)
 
esos son los tipos de toques que hay para móvil.
Título: Duda input.touch para juego en android
Publicado por: unOOld en Junio 02, 2016, 04:33:03 PM
Cita de: Null date=1464835743Si no me equivoco se usa el TouchPhase.Began,

      que es cuando el usuario toca la pantalla.


      Mira,
http://docs.unity3d.com/ScriptReference/TouchPhase.html (http://docs.unity3d.com/ScriptReference/TouchPhase.html)
   
   
      esos son los tipos de toques que hay para móvil.
   


muchisimas gracias, como ejemplo  lo podrias usar en una condicion if que sea valida?
Título: Duda input.touch para juego en android
Publicado por: unOOld en Junio 02, 2016, 06:17:17 PM
Cita de: unOOld date=1464877983muchisimas gracias, como ejemplo  lo podrias usar en una condicion if que sea valida?
   


utilize esto 
 
SIN EMBARGO SIGUE SIN FUNCIONAR 
 

if (Input.touchCount > )
        {
            if (Input.GetTouch().phase == TouchPhase.Began && playerTalking == false)
            {
                ShowDialogue();
                lineNum++;
 
            }
        }

 
 
Título: Duda input.touch para juego en android
Publicado por: Null en Junio 03, 2016, 06:11:09 AM
Cita de: unOOld date=1464884237utilize esto 
   
   
      SIN EMBARGO SIGUE SIN FUNCIONAR 
   
   

if (Input.touchCount > )
        {
            if (Input.GetTouch().phase == TouchPhase.Began && playerTalking == false)
            {
                ShowDialogue();
                lineNum++;
 
            }
        }

   
       
   


Tú lo que necesitas es que cada vez que el jugador toque la pantalla muestre diálogo, no?

creo que entonces es mejor ponerlo dentro de un foreach.


Tal vez te sirva escribiendo algo así:
 

void Update()
{
foreach (Touch t in Input.touches)
{
   if (t.phase == TouchPhase.Ended && playerTalking == false)    // <--- En lugar de .Began utilizé .Ended
   {
      ShowDialogue();
      lineNum++;
        }
}
}

 
 
Título: Duda input.touch para juego en android
Publicado por: unOOld en Junio 03, 2016, 06:36:08 AM
Cita de: Null date=1464927069Tú lo que necesitas es que cada vez que el jugador toque la pantalla muestre diálogo, no?

      creo que entonces es mejor ponerlo en una condición foreach.


      Tal vez te sirva escribiendo algo así:
   
   

void Update()
{
foreach (Touch t in Input.touches)
{
   if (t.phase == TouchPhase.Ended && playerTalking == false)    // <--- En lugar de .Began utilizé .Ended
   {
      ShowDialogue();
      lineNum++;
        }
}
}

   
       
   


muchas gracias por tu respuesta, aun nada, no sirvió