[Unity] CanvasGroup

Canvas Group可以用來控制一組不需要個別控制的UI元素的某些方面,CanvasGroup的屬性會影響他所有children的GameObject


其中有四個選項:

-Alpha:這個選項很多組件都有,用處也是一樣的,在美術中,這個叫做Alpha通道的東東是用來控制透明度的,他的值從0到1.0是完全透明,1是完全不透明;

-Interactable確認該組件是否接受輸入,當他被設置為false時,交互功能將被禁用;

-Block Raycasts是否讓該組件像collider一樣接受射線檢測?你需要在依賴于Canvas的圖形射線檢測者上喚醒射線檢測方法。這個不會作用于Physics.Raycast;

-Ignore Parent Groups(忽略父級團)是否響應父級group的方法

Canvas Group的經典使用:

-在窗口的GameObject上添加一個CanvasGroup,通過控制它的Alpha值來淡入或淡出整個窗口;

-通過給父級GameObject添加一個CanvasGroup并設置它的Interactable值為false來制作一整套沒有交互(灰色)的控制;

-通過將元素或元素的一個父級添加CanvasGroup并設置BlockRaycasts值為false來制作一個或多個不阻止鼠標事件的UI元素

應用:(重要的地方寫大字)

結合后面兩點或者1,3點,都可以實現(xiàn)很牛叉的功能

比如說游戲里某些情況某個按鈕(或者其他UI)是不能點的,而另外一些情況可以點,這樣就可以通過動態(tài)改變這個組件的BlocksRaycasts值以及Interactable來實現(xiàn)

再比如說游戲里點擊某個按鈕要讓這個按鈕不可點并逐漸消失掉,當然啦,也可以讓別的東西消失啦,這就可以通過改變alpha值來實現(xiàn)

恩,CanvasGroup這個組件已經被我玩壞啦~。~

至此,canvas的四個組件(Canvas、Canvas Render、Canvas Scaler、Canvas Group)都學完了,勃主的裝逼之路越走越遠了哈!

抽空再補上例子。。。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容