1.事件接口的作用
UGUI中所有的UI控件都只提供了常用的事件监听列表,如果想要做一些类似长按,双击,拖拽等功能,UI无法实现,或者想让Image和Text,RawImage三大基础控件能够响应玩家输入也无法实现
事件接口的主要作用就是用来处理上述类似的问题,让所有控件都能够添加更多的事件监听来处理对应的逻辑
2.事件接口的类型
常用事件接口
IPointerEnterHandler - OnPointerEnter - 当指针进入对象是调用(鼠标进入)
IPointerExitHandler - OnPointerExit - 当指针退出对象时调用(鼠标离开)
IPointerDownHandler - OnPointerDown - 在对象上按下指针时调用(按下)
IPointerUpHandler - OnPointerUp - 松开指针时调佣(在指针正在点击的游戏对象上调用) (抬起时)
IPointrtClickHandler - OnPointerClick - 在同一对象上按下再松开指针时调用(点击)
IBeginDragHandler - OnBeginDrag - 即将开始拖动时在拖动对象上调用(开始拖拽)
IDragHandler - ObDrag - 发生拖动时在拖动对象上调用(拖拽中)
IEndDragHandler - OnEndDrag - 拖动完成时在拖动对象上调用(结束拖拽)
注意:前为接口名,后为接口中的函数
不常用事件接口
3.使用事件接口
1.继承MonoBehavior的脚本继承对应的事件接口,引用命名空间
2.实现接口中的内容
3.将脚本挂载到想要监听自定义事件的UI控件上
4.PointerEventData参数的关键内容
PointerEventData参数的关键内容:
PointerEventData继承至BaseEventData
PonterId:鼠标左右中键点击鼠标的ID,通过PointerId可以判断右键点击,
position:当前指针位置(屏幕坐标系)
pressposition:按下的时候指针的位置
delta:指针移动增量
clickCount:连击次数
clickTime:点击时间
pressEventCamera:最后一个OnPointerPress按下事件关联的摄像机
enterEventCamera:最后一个OnPointerEnter进入事件关联的摄像机
5.总结
好处:
需要监听自定义事件的空间挂载继承实现了接口的脚本就可以监听到一些特殊事件
可以通过它实现一些长按,双击拖拽等功能
坏处:
不方便管理,需要自己写脚本继承接口挂载到对应控件上,比较麻烦
1523

被折叠的 条评论
为什么被折叠?



