【Unity】[TIPS] DoTweenで画像のalpha値をアニメーションさせたい
canvasgroupならFadeIn , Outがすぐ出来るみたいだけど、
uGUIのImageならどうやるのかをメモ。
ちょっと調べれば分かることですが…。
DOTween.ToAlphaを使う
var fadeImage = GetComponent<Image>(); fadeImage.enabled = true; var c = fadeImage.color; c.a = 1.0f; // 初期値 fadeImage.color = c; DOTween.ToAlpha( ()=> fadeImage.color, color => fadeImage.color = color, 0f, // 目標値 1f // 所要時間 );
DoTween.ToAlphaを使うと、colorのalpha値に対して処理を行うことが出来る。
そのイベントを値を入れたいImageに渡してあげればOK。
沢山あったらどうなるんや
こんなテストコードで軽く動かしてみる。
public Image[] testImages; public void fadeTest(){ for (var i = 0; i < testImages.Length; i++) { // 初期化 var img = testImages[i]; var c = img.color; c.a = 1.0f; img.color = c; DOTween.ToAlpha( () => img.color, color => img.color = color, Random.Range(0.0f, 0.2f), // 目標値 Random.Range(1f, 3f) // 所要時間 ).SetLoops(-1 , LoopType.Yoyo); } }
問題なし。便利ですね!