Unity EventSystem ----- Unity事件系统

Unity EventSystem ----- Unity事件系统

参考资料 : Unity官方文档

六个组件需要学习(Touch Input Module组件已被弃用)

  1. Event System Manager 负责管理跟事件有关的元素
  2. Graphic Raycaster 负责画布上的射线投
  3. Physics Raycaster 负责3D游戏物体的射线投射
  4. Physics2D Raycaster 负责2D游戏物体的射线投射
  5. Standalone Input Module 负责输入的处理
  6. Event Trigger 负责事件处理程序的注册

Standalone Input Module

该模块使用 :

  • 垂直/水平轴给键盘或者导航控制器。
  • 提交/取消按钮来发送提交/取消事件。
  • 事件之间有一个timeout来允许设置每秒的最大事件数量。

该模块流程 :

  • 如果输入了来自输入窗口的有效轴,发送一个Move 事件给被选中的游戏物体。

  • 如果点击了提交/取消按钮,发送提交/取消事件给被选中的游戏物体。

    鼠标输入流程 :

    • 如果按下鼠标:
    1. 发送 PointerEnter 事件(发送给当前层级中所有可以处理它的对象)
    2. 发送 PointPress 事件
    3. 缓存拖动处理对象(该层级第一个可以处理的对象)
    4. 发送 BeginDrag 事件给拖动处理对象
    5. 发送被按压的对象作为 Selected 给Event System
    • 如果鼠标持续的按下 :
    1. Process movment (不懂)
    2. 发送 DragEvent 给缓存的拖动对象
    3. 如果触摸在对象之间移动,处理PointerEnter 和 PointerExit 事件
    • 如果松开鼠标 :
    1. 发送 PointerUp 事件给接收过 PointerPress 的对象
    2. 如果当前悬停的对象和 PointPress对象相同,发送一个 PointerClick 事件
    3. 如果它是缓存的拖地处理对象,发送一个 Drop 事件
    4. 发送 EndDrag 事件到缓存的拖地处理对象。
    • 还可能是滚轮滚动事件

Event Trigger

事件触发器从事件系统接收事件,并调用每个事件的注册函数。

注 :

<
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值