Version: 2019.3

説明

指の画面へのタッチの状態を表します。

TouchPhase is an enum type that contains the states of possible finger touches. The states represent each action the finger can take on the most recent frame update. Since a touch is tracked over its "lifetime" by the device, the start and end of a touch and movements in between can be reported on the frames they occur.

//Attach this script to an empty GameObject
//Create some UI Text by going to Create>UI>Text.
//Drag this GameObject into the Text field to the Inspector window of your GameObject.

using UnityEngine; using System.Collections; using UnityEngine.UI;

public class TouchPhaseExample : MonoBehaviour { public Vector2 startPos; public Vector2 direction;

public Text m_Text; string message;

void Update() { //Update the Text on the screen depending on current TouchPhase, and the current direction vector m_Text.text = "Touch : " + message + "in direction" + direction;

// Track a single touch as a direction control. if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0);

// Handle finger movements based on TouchPhase switch (touch.phase) { //When a touch has first been detected, change the message and record the starting position case TouchPhase.Began: // Record initial touch position. startPos = touch.position; message = "Begun "; break;

//Determine if the touch is a moving touch case TouchPhase.Moved: // Determine direction by comparing the current touch position with the initial one direction = touch.position - startPos; message = "Moving "; break;

case TouchPhase.Ended: // Report that the touch has ended when it ends message = "Ending "; break; } } } }

変数

Began画面に指が触れたとき
Moved画面上で指が動いたとき
Stationary指が画面に触れているが動いてはいないとき
Ended画面から指が離れたとき
Canceledシステムがタッチの追跡をキャンセルしました