コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI のオブジェクトの色や透明度をフェードさせる関数「CrossFadeAlpha」「CrossFadeColor」

はじめに

f:id:baba_s:20180223204233g:plain

「CrossFadeAlpha」「CrossFadeColor」を使用することで
uGUI のオブジェクトの色や透明度をフェードさせることができます

使用例

using UnityEngine;
using UnityEngine.UI;

public class Example : MonoBehaviour
{
    public Image m_image;

    private void OnGUI()
    {
        var duration = 0.5f;

        if ( GUILayout.Button( "透明になる" ) )
        {
            m_image.CrossFadeAlpha( 0, duration, true );
        }
        if ( GUILayout.Button( "不透明になる" ) )
        {
            m_image.CrossFadeAlpha( 1, duration, true );
        }
        if ( GUILayout.Button( "赤色になる" ) )
        {
            m_image.CrossFadeColor( Color.red, duration, true, true );
        }
        if ( GUILayout.Button( "青色になる" ) )
        {
            m_image.CrossFadeColor( Color.blue, duration, true, true );
        }
    }
}

引数

CrossFadeAlpha

引数 内容
alpha フェード後の透明度
duration フェードにかかる時間(秒)
ignoreTimeScale タイムスケールを無視する場合 true

CrossFadeColor

引数 内容
targetColor フェード後の色
duration フェードにかかる時間(秒)
ignoreTimeScale タイムスケールを無視する場合 true
useAlpha 透明度もフェードする場合 true