lyh916

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

参考链接:

https://zhuanlan.zhihu.com/p/74520501

https://blog.csdn.net/ecidevilin/article/details/52510373

 

点击流程分3个部分:

一.封装点击信息

将Input.GetTouch返回的Touch结构体,包装成PointerEventData

 

二.找到点击对象

UI的点击判断,主要是根据点是否在UI的矩形范围内,而并非使用物理射线

将点击到的第一个对象赋予给pointerData.pointerCurrentRaycast

 

三.传递点击信息

ExecuteEvents.GetEventHandler<IPointerClickHandler>(currentOverGo):从currentOverGo开始往上找,找到一个实现了IPointerClickHandler接口的go

ExecuteEvents.Execute(pointerEvent.pointerPress, pointerEvent, ExecuteEvents.pointerClickHandler):将点击信息传递到go上的接口

同时也可以看到,要按下和抬起时是同一个go,才会响应点击事件

 

例子:

点击按钮上的文字,首先通过点击判断确定Text这个go,然后从Text往上找,找到Button,最后触发点击事件

posted on 2020-03-22 16:13  艰苦奋斗中  阅读(219)  评论(0编辑  收藏  举报