Unity實現UGUI中按鈕的單機、右擊和中鍵點選的判定
阿新 • • 發佈:2019-02-10
直接上程式碼吧,把這個程式碼繫結到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");
}
}