1. 程式人生 > >Unity大螢幕觸控外掛TouchScript的使用筆記

Unity大螢幕觸控外掛TouchScript的使用筆記

Unity大螢幕觸控外掛TouchScript的使用筆記

先新增相應元件
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

委託

//其他長按,雙擊等用法相同

 void Start () {
 		//點選
        GetComponent<PressGesture>().Pressed += pressHandler;
        //擡起
        GetComponent<ReleaseGesture>().Released += releasdHandler;
    }

private void pressHandler(object sender,
EventArgs e){} private void ReleaseGesture(object sender, EventArgs e){} private void OnDisable() { GetComponent<PressGesture>().Pressed -= pressHandler; GetComponent<ReleaseGesture>().Released -= releasdHandler; }

獲得在物體上的觸控點的list組

IList<Pointer> p =
GetComponent<PressGesture>().ActivePointers; //Pointer的屬性(專案中用到的一些屬性) //TouchManager分配給觸控點的ID public int Id { get; private set; } //觸控點的型別,滑鼠和觸控 public PointerType Type { get; protected set; } //觸控點的位置 public Vector2 Position { get { return position;
} set { newPosition = value; } }

在press點選事件中每觸控一次傳送一次觸控資料,不包含上次資料,只能在pressHandler()中獲得

使用TouchManager獲得觸控點
//TouchManager.Instance內有很多方法,具體看原始碼

void Start () 
{
		//每次有觸控點加入時都會觸發,啟動時會有id為-1的滑鼠點進入
       TouchManager.Instance.PointersAdded += pointersAddedHandler;private void pointersAddedHandler(object sender, PointerEventArgs e)
{
    foreach (Pointer p in e.Pointers) {
        if(p.Id == -1)
        {
          TouchManager.Instance.CancelPointer(-1, true);//清除id為-1的點
        }
    }
}