描述手指触摸的阶段。
TouchPhase 是一个枚举类型,其中包含可能的手指触摸状态。这些状态表示手指在最近的帧更新时可以采取的操作。因为设备在整个“生命周期”中对触摸进行跟踪,所以触摸的开始和结束以及之间的移动可以在发生触摸的帧上报告。
//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 | 系统取消了对触摸的跟踪。 |