在进行 Unity 3D
的 UI
界面发开时候, 可能会遇到禁用某些控件的 用户交互
.
比如: 当前的
角色属性界面
已经打开了, 此时用户点击主界面上的技能图标
就不能再响应用户的点击事件了.
透明层
以前的做法可能就是在 角色属性界面
背景上添加一个透明层来阻断用户的点击事件.
Canvas Group 组件
另外一个做法, 就是使用 Unity
提供的 Canvas Group
组件:
Canvas Group
组件一共有 4 个属性:
Alpha
: 可以用来控制组件的透明度, 其值为0 ~ 1
.Interactable
: 是否接受用户交互事件, 设置为false
的时候, 交互功能就会被禁用.Blocks Raycasts
: 如果需要图形射线(GraphicRaycaster)检测. 值为true
时, 可将此组件作为一个射线碰撞盒. 但是, 不适用于Physics.Raycast
.Ignore Parent Group
: 是否响应父级 group 的方法.
因此如果要禁用交互的话, 只需要 Interactable
= false
即可.
当然 Blocks Raycasts
= false
也可以起到想同的作用.