【Unity学习笔记】事件系统EventSystem

声明:此篇文章是个人学习笔记,并非教程,所以内容可能不够严谨。可作参考,但不保证绝对正确。如果你发现我的文章有什么错误,非常欢迎指正,谢谢哦

1.EventSystem物体

第一次在Unity中创建UI元素时,总会自动生成一个EventSystem物体,它包含三个组件:Transform、EventSystem、Standalone Input Module。如果我们把它删除了,会发现UI上的事件(比如点击、拖拽)将不会被检测到。没错,它就是用来处理UI相关的事件的。

1.1 EventSystem组件

EventSystem基于输入给物体发送事件,它在整个事件系统中扮演的主要角色是:
1.管理被选中的物体
2.管理正在使用的Input Module
3.管理射线
4.根据需要更新所有Input Module
它相当于于一个管理者和通讯者,如果仅仅把此组件挂在一个游戏物体上是无效的,因为它还要结合其它组件一起使用。
在这里插入图片描述

属性功能
First Selected一开始默认选中的物体
Send Navigation Events事件系统是否允许导航事件(移动/提交/取消)。如果取消了,按上下左右就不能切换选中项了。
Drag Threshold拖拽阈值,即鼠标当前帧和上一帧达到此值,才会响应拖拽事件

1.2 Standalone Input Module 组件

Input Module是事件系统运行逻辑的主要所在,它主要用于:
1.处理输入
2.管理事件状态
3.发送事件给游戏物体
在EventSystem中,同一时刻只能激活一个Input Module,并且此组件必须挂载到EventSystem组件相同物体上才能有效。
你也可以扩展此组件:官方文档

在这里插入图片描述
在Inspector面板上,它的前四个属性是用来设置移动、提交和取消按钮的,Input Module会在这些按钮触发时将事件发送给选中的物体。这里的值要设置为Input Manager(Edit->Project Setting->Input Manager)面板中已有的值。

属性功能
Horizontal Axis水平移动轴
Vertical Axis垂直移动轴
Submit Button提交按钮
Cancel Button取消按钮
Input Actions Per Second每秒的输入值个数
Repeat Delay每秒重复率生效前输入操作的延迟(秒)
Force Module Active启用此属性可强制此独立输入模块处于活动状态。
  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值