1. 程式人生 > >Unity實現UGUI中按鈕的單機、右擊和中鍵點選的判定

Unity實現UGUI中按鈕的單機、右擊和中鍵點選的判定

直接上程式碼吧,把這個程式碼繫結到Unity的相應Button上即可實現。

public class RightClick : MonoBehaviour, IPointerClickHandler
{

    public UnityEvent leftClick;
    public UnityEvent middleClick;
    public UnityEvent rightClick;


    private void Start()
    {
        leftClick.AddListener(new UnityAction(ButtonLeftClick));
        middleClick.AddListener(new
UnityAction(ButtonMiddleClick)); rightClick.AddListener(new UnityAction(ButtonRightClick)); } public void OnPointerClick(PointerEventData eventData) { if (eventData.button == PointerEventData.InputButton.Left) leftClick.Invoke(); else if (eventData.button == PointerEventData.InputButton.Middle) middleClick.Invoke(); else
if (eventData.button == PointerEventData.InputButton.Right) rightClick.Invoke(); } private void ButtonLeftClick() { Debug.Log("Button Left Click"); } private void ButtonMiddleClick() { Debug.Log("Button Middle Click"); } private void ButtonRightClick
() { Debug.Log("Button Right Click"); } }

參考資料