UGUI之UI事件监听接口

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.总结

好处:

        需要监听自定义事件的空间挂载继承实现了接口的脚本就可以监听到一些特殊事件

        可以通过它实现一些长按,双击拖拽等功能

坏处:

        不方便管理,需要自己写脚本继承接口挂载到对应控件上,比较麻烦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值