【實作】可拖曳式UI - Draggable UI (UGUI)

2016年1月19日 星期二

【實作】可拖曳式UI - Draggable UI (UGUI)


適用情境:實作一個如虛擬Home鍵 / Facebook訊息APP頭像 的按鈕(可拖曳與觸發點擊)
C#

public void OnDrag(){ transform.position = (Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,100))); //滑鼠 if(Input.touchCount>0&& Input.GetTouch(0).phase==TouchPhase.Moved) { Ray ray = Camera.main.ScreenPointToRay(Input.touches[0].position); //觸控 } }
將上述Script丟進要拖曳的UI中
新增Event Trigger,點Add New Event Type,選Drag事件
將UI自己拖進Object中,右邊選剛剛的Script名稱跟OnDrag方法
若是需要同時具備OnClick跟Drag事件,也就是同一個UI具備兩種觸發則需要
新增Canvas Group
Event Trigger新增Begin Drag與End Drag
Begin中選禁用互動(interactable)功能(就是下面框框不要打勾)
End中選開啟互動(interactable)功能(下面框框打勾)

不過也可以直接禁用或開啟上方Button的互動功能,這邊是有另外需求才採用Canvas Group

0 意見 :

張貼留言

Popular Posts