unity3d
Platformy mobilne
Szukaj…
Składnia
- public static int Input.touchCount
- publiczne statyczne wprowadzanie dotykowe GetTouch (indeks wewnętrzny)
Wykrywanie dotyku
Aby wykryć dotyk w Unity, jest to bardzo proste, wystarczy użyć Input.GetTouch()
i przekazać mu indeks.
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
lub
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
}
}
}
}
Te przykłady przypominają ostatnią klatkę gry.
TouchPhase
Wewnątrz wyliczenia TouchPhase znajduje się 5 różnych rodzajów TouchPhase
- Rozpoczęty - palec dotknął ekranu
- Przeniesiony - palec przesunął się po ekranie
- Nieruchomy - palec jest na ekranie, ale się nie porusza
- Zakończone - palec został zdjęty z ekranu
- Anulowano - system anulował śledzenie dotyku
Na przykład, aby przenieść obiekt, do którego ten skrypt jest dołączany na ekranie w oparciu o dotyk.
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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow