首页 Unity 中如何关闭 UI 的用户交互开关
文章
取消

Unity 中如何关闭 UI 的用户交互开关

在进行 Unity 3DUI 界面发开时候, 可能会遇到禁用某些控件的 用户交互.

比如: 当前的 角色属性界面 已经打开了, 此时用户点击主界面上的 技能图标 就不能再响应用户的点击事件了.

透明层

以前的做法可能就是在 角色属性界面 背景上添加一个透明层来阻断用户的点击事件.

Canvas Group 组件

另外一个做法, 就是使用 Unity 提供的 Canvas Group 组件:

Canvas Group 组件一共有 4 个属性:

  1. Alpha: 可以用来控制组件的透明度, 其值为 0 ~ 1.
  2. Interactable: 是否接受用户交互事件, 设置为 false 的时候, 交互功能就会被禁用.
  3. Blocks Raycasts: 如果需要图形射线(GraphicRaycaster)检测. 值为 true 时, 可将此组件作为一个射线碰撞盒. 但是, 不适用于Physics.Raycast.
  4. Ignore Parent Group: 是否响应父级 group 的方法.

因此如果要禁用交互的话, 只需要 Interactable = false 即可.

当然 Blocks Raycasts = false 也可以起到想同的作用.

本文由作者按照 CC BY 4.0 进行授权

iOS 13 之后 Masonry 使用上面的一些注意事项 (动画效果未达预期)

MacBook Pro 键盘按键失灵