在Unity中,CanvasGroup 组件用于控制一组UI元素的透明度、交互性和是否可被射线检测。通过调整 CanvasGroup 的属性,可以轻松实现UI元素的显示和隐藏。
主要属性
-
Alpha : 控制UI元素的透明度。值为
0时完全透明,值为1时完全不透明。 -
Interactable : 控制UI元素是否可交互。设置为
false时,UI元素不可点击或交互。 -
Blocks Raycasts : 控制UI元素是否阻挡射线检测。设置为
false时,UI元素不会阻挡射线检测。
显示和隐藏UI元素
通过调整 CanvasGroup 的 Alpha、Interactable 和 Blocks Raycasts 属性,可以实现UI元素的显示和隐藏。
显示UI元素
cs
//显示界面 (组件)
public void maxGroup(CanvasGroup group)
{
group.alpha = 1; // 完全不透明
group.interactable = true; // 可交互
group.blocksRaycasts = true; // 阻挡射线检测
}
隐藏UI元素
cs
//隐藏界面 (组件)
public void minGroup(CanvasGroup group)
{
group.alpha = 0; // 完全透明
group.interactable = false; // 不可交互
group.blocksRaycasts = false;// 不阻挡射线检测
}
通过 CanvasGroup 组件,你可以轻松控制UI元素的显示和隐藏,同时还能管理其交互性和射线检测行为。这种方法比直接启用或禁用 GameObject 更加灵活,尤其是在需要渐变效果或部分交互的情况下。