版本: Unity 6 (6000.0)
语言英语
  • C#

TouchPhase

枚举

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

描述手指触控的阶段。

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系统取消了触控的跟踪。