Noticias

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

Duda input.touch para juego en android

Iniciado por unOOld, Junio 01, 2016, 10:57:33 PM

Tema anterior - Siguiente tema
Junio 01, 2016, 10:57:33 PM Ultima modificación: Junio 01, 2016, 10:59:06 PM por unOOld
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++;
           
            }

 
 

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
 
esos son los tipos de toques que hay para móvil.

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
   
   
      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?

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++;
 
            }
        }

 
 

Junio 03, 2016, 06:11:09 AM #4 Ultima modificación: Junio 03, 2016, 06:11:42 AM por Null
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++;
        }
}
}

 
 

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ó 

Etiquetas: