Unity实现UGUI中按钮的单机、右击和中键点击的判定
发表于2018-09-28
本篇文章给大家介绍下判断UI按钮是单机、右击还是中键点击的状态。
直接上代码吧,把这个代码绑定到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"); } }