unity3d
Мобильные платформы
Поиск…
Синтаксис
- public static int Input.touchCount
- public static Touch Input.GetTouch (индекс int)
Обнаружение касания
Чтобы обнаружить прикосновение в Unity, довольно просто, нам просто нужно использовать Input.GetTouch()
и передать ему индекс.
using UnityEngine;
using System.Collections;
public class TouchExample : MonoBehaviour {
void Update() {
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
//Do Stuff
}
}
}
или же
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
}
}
}
}
Эти примеры приходят в контакт с последней игровой рамкой.
TouchPhase
Внутри перечисления TouchPhase есть 5 различных типов TouchPhase
- Начался - пальцем коснулся экран
- Перемещено - палец перемещается по экрану
- Стационарный - палец отображается на экране, но не перемещается
- Закончено - палец был снят с экрана
- Отменено - система отменяет отслеживание касания
Например, чтобы переместить объект, этот скрипт привязан к экрану на основе касания.
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow