【Unity】Imageを簡単にフェードイン・アウトする

スポンサーリンク

はじめに

「CrossFadeAlpha」関数を利用するとImageクラスのフェードイン、フェードアウトを簡単に実装することができます。今回はこの関数を使ってImageを簡単にフェードイン・アウトする方法を紹介します。

Imageを簡単にフェードイン・アウトする

「CrossFadeAlpha」関数の使い方は下記のスクリプトになります。
第1パラメーターにターゲットのアルファ値(フェードインは1、フェードアウトは0)、第2パラメーターにフェード時間、第3パラメーターにタイムスケールを無視するかどうかを指定します。


using UnityEngine;
using UnityEngine.UI;

public class Sample : MonoBehaviour
{
    [SerializeField]
    private Image Background;

    private void Start()
    {
        this.FadeIn(0.5f);
    }

    private void FadeIn(float duration)
    {
        this.Background.CrossFadeAlpha(1.0f, duration, false);
    }

    private void FadeOut(float duration)
    {
        this.Background.CrossFadeAlpha(0.0f, duration, false);
    }
}

1つ気を付けないといけないのは、この関数で変更するalpha値はcanvasRendererのalphaであってImageのalphaではないことです。なので、最初にalphaを0から始めたい場合は「this.Background.canvasRenderer.SetAlpha(0.0f);」で設定する必要があります。

参考サイト

Unity – Scripting API: UI.Graphic.CrossFadeAlpha
https://docs.unity3d.com/ScriptReference/UI.Graphic.CrossFadeAlpha.html

検証環境

Windows 10 Pro
Unity 2018.2.7f1

スポンサーリンク

シェアする

フォローする