Unity监听判断鼠标点击按钮方式(左键、右键、中键)

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脚本,不需要绑定事件,点击运行。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43505432/article/details/108991262