天天看點

Unity UGUI CanvasGroup元件的詳解

對于CanvasGroup元件,我們一定要引起高度重視,它很好用的呢。

Unity UGUI CanvasGroup元件的詳解

首先建立一個buttonBig,它很大♂,我将它的image裡面的顔色alpha調至一半,顔色稍紅。添加CanvasGroup元件

然後建立兩個小的button。他們都是預設的樣子。

之後調整大button,使大Button在小Button的上面。

然後以大Button為父對象,建立一些UGUI的其他物件,像slider,toggle等。

好現在搭建完成,我們開始試驗CanvasGroup

Alpha:控制父對象與全部子對象的透明度。

Unity UGUI CanvasGroup元件的詳解

可以看到大Button及其子對象全部看不見了。

Interactable:控制父對象與子對象是否可以互動。false則全部失去互動功能。

Unity UGUI CanvasGroup元件的詳解

你看看,button元件預設就有這個Interactable屬性,我看了一下,UGUI自帶的元件大多都有這個屬性,除了ScrollView,不過别擔心。

Unity UGUI CanvasGroup元件的詳解

大Button及其下的子物體全部都失去了互動功能了,包括ScrollView。

###關鍵問題。

這個Interactable屬性隻能取消UGUI自帶的元件的互動功能,明白了嗎。如果我自己寫一個具有互動功能的元件,通過CanvasGroup的這個屬性是無法統一取消的。明白了吧。

BlocksRaycast:是否阻擋射線檢測。

這個我要解釋一下,開啟的時候,Button會阻擋射線檢測。這樣你點選大Button,它才會響應點選。你想透過大button點選它下面的小button就不行,因為大button把你點選的射線給阻擋,然後自己響應了。

如果關閉的話,大Button不會阻擋射線,你可以透過大button點選到他下面的小button。但是,大button的互動功能相當于沒有了。因為它不阻擋射線,是以它也不會感應到射線,是以它自然也不會響應你的點選。

Ignore Parent Group:是否無視父對象的CanvasGroup元件。如果無視的話,那麼父對象的設定就不會影響到你。這個就不多解釋了。