unity3d
Mobila plattformar
Sök…
Syntax
- public static int Input.touchCount
- public static Touch Input.GetTouch (int index)
Upptäcker beröring
För att upptäcka en touch i Unity är det ganska enkelt vi måste bara använda Input.GetTouch()
och skicka ett index.
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
eller
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
}
}
}
}
Dessa exempel får beröringen av den sista spelramen.
TouchPhase
Inuti TouchPhase enum finns det 5 olika typer av TouchPhase
- Började - ett finger rörde skärmen
- Flyttad - ett finger flyttat på skärmen
- Stationär - ett finger är på skärmen men rör sig inte
- Avslutat - ett finger lyftes från skärmen
- Avbruten - systemet avbröt spårningen för beröringen
Till exempel för att flytta objektet som detta skript är kopplat till över hela skärmen baserat på beröring.
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow