还有一种更简单的绑定事件的方法——通过一些接口来实现。这些接口定义在UnityEngine.EventSystems中,可以在这里查阅:http://docs.unity3d.com/ScriptReference/EventSystems.IBeginDragHandler.html
展开左侧的Interfaces即可看到。
扩展了这些接口,即可通过实现接口中定义的方法来实接收各种事件。
判断左右键:用eventData.pointerID来判断。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class EventHandler2 : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler, IPointerExitHandler, IPointerDownHandler, IDragHandler
{
public void OnPointerClick(PointerEventData eventData)
{
if (eventData.pointerId == -1)
Debug.Log("Left Mouse Clicked");
if (eventData.pointerId == -2)
Debug.Log("Right Mouse Clicked");
}
public void OnPointerEnter(PointerEventData eventData)
{
Debug.Log("Pointer Enter");
}
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log("Pointer Exit");
}
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("Pointer Down");
}
public void OnDrag(PointerEventData eventData)
{
Debug.Log("Dragged");
}
}