unity3d
Piattaforme mobili
Ricerca…
Sintassi
- public static int Input.touchCount
- tocco statico pubblico Input.GetTouch (int index)
Rilevazione del tocco
Per rilevare un tocco in Unity è abbastanza semplice, dobbiamo solo usare Input.GetTouch()
e passargli un indice.
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
}
}
}
}
Questi esempi hanno il tocco dell'ultimo frame del gioco.
TouchPhase
All'interno dell'enumer TouchPhase ci sono 5 diversi tipi di TouchPhase
- Iniziato: un dito toccò lo schermo
- Spostato - un dito spostato sullo schermo
- Stazionario: un dito è sullo schermo ma non si muove
- Finito - un dito fu sollevato dallo schermo
- Annullato: il sistema ha annullato il tracciamento per il tocco
Ad esempio, per spostare l'oggetto questo script è collegato a tutto lo schermo in base al tocco.
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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow