以上就是Input.GetTouch可以取得的參數,試著在手機上顯示的情況,以下是程式碼:
using UnityEngine; using System.Collections; using UnityEngine.UI; public class TouchControl : MonoBehaviour { public Text touchData; void Update () { touchData.text = " "; if (Input.touchCount > 0){//(0) for (int i = 0; i < Input.touchCount; i++) { touchData.text += "Finger Id:" + Input.GetTouch(i).fingerId.ToString()//(1) + " Tap Count:" + Input.GetTouch(i).tapCount.ToString()//(2) + "\n" + " Position:" + Input.GetTouch(i).position.ToString()//(3) + "\n" + " rawPosition:" + Input.GetTouch(i).rawPosition.ToString()//(4) + "\n" + " Delta Position:" + Input.GetTouch(i).deltaPosition.ToString()//(5) + "\n" + " Delta Time:" + Input.GetTouch(i).deltaTime.ToString()//(6) + "\n" + " Phase:" + Input.GetTouch(i).phase.ToString()//(7) + "\n" + "\n"; } } } }(0)在抓觸控點時,首先要確定觸控點數量,也就是Input.touchCount要大於0。
(1)fingerId:觸控點的編號,會依照觸控的先後給予編號。
(2)tapCount:點擊次數,在短時間即極小範圍間點即會被累加,不過實際時間和範圍官網也沒提到,可以用來判斷連續點擊。
(3)position:目前的觸碰位置,左下角為原點,數值的單位是pixel,會隨著觸碰點移動改變。
(4)rawPosition:觸碰的初始位置,左下角為原點,數值的單位是pixel,不會因為觸碰點移動改變數值。
(5)deltaPosition:前一個frame到目前frame的移動距離。
(6)deltaTime:前一個frame到目前frame的經過時間。
(7)phase:目前觸控點的狀態:
Began:觸控開始。
Moved:觸控點移動。
Stationary:觸控點停止。
Ended:觸控結束。
Canceled:觸控因為系統原因結束。
為了今後會用到的觸控功能花了些時間研究,這次就到這裡。
沒有留言:
張貼留言