unity3d
Plates-formes mobiles
Recherche…
Syntaxe
- public static int Input.touchCount
- Touch statique public Input.GetTouch (int index)
Détecter le toucher
Pour détecter un contact dans Unity, il est assez simple d'utiliser Input.GetTouch()
et de lui transmettre un index.
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
ou
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
}
}
}
}
Ces exemples prennent le contact de la dernière image de jeu.
TouchPhase
À l’intérieur du TouchPhase enum, il existe 5 types différents de TouchPhase
- A commencé - un doigt a touché l'écran
- Déplacé - un doigt déplacé sur l'écran
- Stationnaire - un doigt est sur l'écran mais ne bouge pas
- Terminé - un doigt a été levé de l'écran
- Annulé - le système a annulé le suivi pour le toucher
Par exemple, pour déplacer l’objet auquel ce script est attaché sur l’écran en fonction du toucher.
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow