UGUI的事件机制

本文介绍了Unity UGUI的事件机制,包括EventSystem、InputModule、RayCaster的职责,以及事件的产生、处理和连接方式。UGUI使用EventTriggerType定义事件,事件由系统自动产生,可通过直接设置或EventTrigger组件来关联处理函数。通过ExecuteEvents.Execute方法可强制执行特定事件。
摘要由CSDN通过智能技术生成

UGUI使用了新的event机制,我们之前在NGUI中,为了处理ui的交互,通常是在ui组件挂载的mono上写onclick(),onpress()这些函数,换到ugui后,unity使用了新的event 机制。但是unity的文档解释的很乱,这里整理一下。


这里面有个主要的模块:

 EventSystem,全局需要有一个,我们创建一个ui会自动生成一个,这是整个事件系统的管理器,通常不需要特殊设置它的参数

InputModule,他是用来管理输入设备的输入事件,提供一个抽象层,默认在创建ui时会生成一个StandartInputModule,这是针对鼠标键盘的输入管理,如果要支持触控的移动设备,我们需要再加一个TouchInputModule,可以同时加几个input module,EventSystem会根据设备自动选择。


RayCaster,他等于是一个事件的检测器,因为ugui也是3Dui,所有的触碰选择都涉及到射线cast,所以在每个canvas上要放置一个CanvasRayCast,这个canvas上的ui就可以进行事件检测,以发出事件,注意ui本身是不需要加入包围盒组件的(NGUI的做法)


 然后就是事件的产生和处理,ugui的方式有些类似QT,他有一个事件event,一个事件的处理器handler,event加入handler进行listen,当event发生时,han

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值