所有的事件接口均继承自 IEventSystemHandler
IPointerEnterHandler 指针进入事件
IPointerExitHandler 指针退出事件
——利用指针进入、退出事件,可以完成ToolTip功能
IPointerDownHandler 指针按下事件:在可视元素矩形区域内按下时响应
IPointerUpHandler 指针抬起事件:在可视元素矩形区域内按下后,在任意地方抬起时响应
IPointerClickHandler 指针点击事件:在可视元素矩形区域内按下后,且在同一可视元素矩形区域内抬起时响应
——有按下,必定有抬起;有按下,未必有点击
IInitializePotentialDragHandler 初始化潜在的拖动事件:与IPointerDownHandler触发条件基本相同
IBeginDragHandler 拖动开始事件
IDragHandler 拖动中事件
IEndDragHandler 拖动结束事件
IDropHandler 接收拖动事件
IScrollHandler 滚动事件
ISelectHandler 选择事件:选择(点击)时调用EventSystem.current.SetSelectedGameObject(gameObject)选中,随后触发OnSelect(...)方法
IDeselectHandler 取消选择事件:选中另一gameObject后,原来选中的自动取消
IUpdateSelectedHandler 选中物体每帧触发事件
IMoveHandler 移动事件(上下左右):与InputManager里的Horizontal和Vertical按键相对应。=> Input.GetAxisRaw()
ISubmitHandler 提交事件:按下InputManager里的submit对应的按键(一般是Enter)。=> Input.GetButtonDown()
ICancelHandler 取消事件:按下InputManager里的cancel对应的按键(Esc)。=> Input.GetButtonDown()
——移动、提交、取消操作,必须先选中(OnSelect)才能触发
所有被继承的事件接口,需要实现其方法,参数一般是EventData(BaseEventData/PointerEventData),利用这些参数可以完成相应操作。
- using UnityEngine;
- using UnityEngine.EventSystems;