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