unity3d
Plataformas moviles
Buscar..
Sintaxis
- public static int Input.touchCount
- Toque público estático Input.GetTouch (índice int)
Detección de toque
Para detectar un toque en Unity es bastante simple, solo tenemos que usar Input.GetTouch()
y pasarle un índice.
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
o
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
for(int i = 0; i < Input.touchCount; i++)
{
if (Input.GetTouch(i).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
}
Estos ejemplos dan el toque del último cuadro de juego.
TouchPhase
Dentro de la enumeración de TouchPhase hay 5 tipos diferentes de TouchPhase
- Comenzó - un dedo tocó la pantalla
- Movido - un dedo movido en la pantalla
- Estacionario: un dedo está en la pantalla pero no se mueve
- Terminado - un dedo fue levantado de la pantalla
- Cancelado: el sistema canceló el seguimiento para el toque
Por ejemplo, para mover el objeto al que se adjunta esta secuencia de comandos a través de la pantalla en función del toque.
public class TouchMoveExample : MonoBehaviour
{
public float speed = 0.1f;
void Update () {
if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0);
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow