Unity监听判断鼠标点击按钮方式(左键、右键、中键),可以通过继承IPointerClickHandler类来实现。
该类在using UnityEngine.EventSystems;命名空间下。
一、 新建Test脚本,复制下方代码
。
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
public class Test : 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");
}
}
二、在场景中添加一个按钮,添加Test脚本,不需要绑定事件,点击运行。