對于CanvasGroup元件,我們一定要引起高度重視,它很好用的呢。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iZlVjNygDMhNWYjlTN0MWOxcjZllTZ1kjM1IGZhBTZx8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
首先建立一個buttonBig,它很大♂,我将它的image裡面的顔色alpha調至一半,顔色稍紅。添加CanvasGroup元件
然後建立兩個小的button。他們都是預設的樣子。
之後調整大button,使大Button在小Button的上面。
然後以大Button為父對象,建立一些UGUI的其他物件,像slider,toggle等。
好現在搭建完成,我們開始試驗CanvasGroup
Alpha:控制父對象與全部子對象的透明度。
可以看到大Button及其子對象全部看不見了。
Interactable:控制父對象與子對象是否可以互動。false則全部失去互動功能。
你看看,button元件預設就有這個Interactable屬性,我看了一下,UGUI自帶的元件大多都有這個屬性,除了ScrollView,不過别擔心。
大Button及其下的子物體全部都失去了互動功能了,包括ScrollView。
###關鍵問題。
這個Interactable屬性隻能取消UGUI自帶的元件的互動功能,明白了嗎。如果我自己寫一個具有互動功能的元件,通過CanvasGroup的這個屬性是無法統一取消的。明白了吧。
BlocksRaycast:是否阻擋射線檢測。
這個我要解釋一下,開啟的時候,Button會阻擋射線檢測。這樣你點選大Button,它才會響應點選。你想透過大button點選它下面的小button就不行,因為大button把你點選的射線給阻擋,然後自己響應了。
如果關閉的話,大Button不會阻擋射線,你可以透過大button點選到他下面的小button。但是,大button的互動功能相當于沒有了。因為它不阻擋射線,是以它也不會感應到射線,是以它自然也不會響應你的點選。
Ignore Parent Group:是否無視父對象的CanvasGroup元件。如果無視的話,那麼父對象的設定就不會影響到你。這個就不多解釋了。