EventSystem

开头

在创建ui组件时,unity 会自动创建 EventSystem
对象,并且挂载EventSystem、StandaloneInputModule脚本

事件系统(EventSystem)

特性

  • 该组件是ui功能的核心组件, 所有交互组件的响应事件都由该组件处理
  • 该组件在update中实时运行

参数

  • first Selected 刚进入游戏无任何输入时默认选择的元素
  • send navigation Event 是否允许事件系统发送move/submit/cancel 等导航事件
  • drag threshold 响应拖拽事件最小的像素区域(抖动)

独立输入模块组件(Standalone Input Module)

作用

当你的输入控制器在ui交互时产生滑动,确定,取消等输入时, ui系统能够得到对应的事件处理
使ui界面可以获得更多外设的输入信息,相当于信号的转换器

使用

例如:Horizontal Axis 指定水平移动输入绑定的InputManager 中字符串变量的名字
使用:

float x = Input.GetAxis("Horizontal");//对应键盘上的A键和D键 或←键和→键
//input.getAxis()和input.getAxisRaw()的区别
//input.getAxis()的返回值m从0渐变为1或者-1
//input.getAxisRaw()的返回值从0变成1或者-1,没有渐变

UI 射线发送组件(Graphic Raycaster)

当添加画布时自动添加
射线会在击中第一个阻塞它的ui时停止(勾选raycast target)

事件触发器组件

所有交互操作的集合体
比如按钮就是实现了触发器的几个方法

ui对象挂载的脚本实现接口后, 即可在该对象触发对应事件后被回调

注意事项?

  • EventSystem组件只会存在整个ui系统中存在一个且每一帧都在运行(update)
  • 每个 canvas 上都要添加GraphicRaycaster 否则无法得到输入响应(父画布有时,子画布也需要添加)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EventSystem是Unity引擎中的一个重要组件,用管理和处理游戏中事件。它的作是允许不同的游戏对象之进行通信和交互,以便实现戏的各种功能和逻辑。 具体来说,EventSystem可以用于以下几个方面: 1. 输入管理:EventSystem可以接收鼠标、键盘触摸等输入事件,并将其传递给合适的游戏对象进行处理。比如,点击按钮、拖拽物体等操作都可以通过EventSystem来响应和处理。 2. UI事件处理:UnityUI系统依赖于EventSystem来处理UI元素的交互事件,比如按钮点击、滚动条滑动等。EventSystem会根据用户的输入将事件传递给正确的UI元素,并调用相应的回调函数。 3. 事件广播:EventSystem可以用于广播游戏内的自定义事件,以实现游戏对象之间的通信和互动。比如,当玩家进入某个区域时,可以通过EventSystem发送一个自定义事件,其他关联对象可以通过监听这个事件来执行相应的逻辑。 4. 物理射线检测:EventSystem可以与Unity的物理系统结合使用,用于检测物体之间的碰撞和触发事件。比如,当一个射线与某个物体发生碰撞时,EventSystem可以触发相应的事件,并通知相关的游戏对象做出反应。 总之,EventSystem在Unity中起到了很重要的作用,它是游戏中事件处理和交互的重要桥梁。通过合理地利用EventSystem,可以实现更加灵活和交互丰富的游戏逻辑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值