推薦閱讀:
最近需要實現文字漸隱漸顯的效果
一開始我只這樣的:
txt.text="這是一個<color=#FF0000>測試案例</color>"
txt:DOFade(0.5, 0)--- 初始透明度比例爲0.5
txt:DOFade(1, 0.3)--- 最終透明度比例爲1
動畫播放完的期待狀態
然而事實是這樣的
實驗表明:異色部分的透明度不會被改變
造成這樣的原因可以參考文章UGUI拓展 - 動畫控制富文本異色部分的Alpha
後來,我發現了CanvasGroup組件
CanvasGroup可以統一修改該組UI元素的某些性質,而不必去逐個修改
CanvasGroup一共有四個屬性:
(1)Alpha : 該組UI元素的透明度。注:每個UI最終的透明度是由此值和自身的alpha數值相乘得到。
(2)Interactable : 是否需要交互(勾選的則是可交互),同時作用於該組全部UI元素。
(3)Blcok Raycasts : 是否可以接收圖形射線的檢測(勾選則接受檢測)。注:不適用於Physics.Raycast.。
(4)Ignore Parent Group : 是否需要忽略父級對象中的CanvasGroup的設置。(勾選則忽略)