1. 程式人生 > 其它 >UGUI監聽判斷滑鼠點選按鈕方式(左鍵,中鍵,右鍵)

UGUI監聽判斷滑鼠點選按鈕方式(左鍵,中鍵,右鍵)

using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;

public class ButtonleftOrMiddleAndRight : MonoBehaviour, IPointerClickHandler
{
public UnityEvent leftClick;
public UnityEvent middleClick;
public UnityEvent rightClick;
private void Start()
{
  leftClick.AddListener(new UnityAction(ButtonLeftClick));
  rightClick.AddListener(new UnityAction(ButtonRightClick));  
  middleClick.AddListener(new UnityAction(ButtonMiddleClick));
}

public void OnPointerClick(PointerEventData eventData)
{
  if (eventData.button == PointerEventData.InputButton.Left)
    leftClick.Invoke();
  else if (eventData.button == PointerEventData.InputButton.Right)
    rightClick.Invoke();
  else if (eventData.button == PointerEventData.InputButton.Middle)
    middleClick.Invoke();
}

private void ButtonLeftClick()
{
  Debug.LogError("Left Click");
}
private void ButtonRightClick()
{
  Debug.LogError("Right Click");
}
private void ButtonMiddleClick()
{
  Debug.LogError("Middle Click");
}
}