【實作】可拖曳式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); //觸控 } } |
新增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 意見 :
張貼留言