コガネブログ

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

【Unity】uGUI の Slider の値をスクリプトから設定する時に onValueChanged を発生しない関数

概要

using UnityEngine;
using UnityEngine.UI;

public class Example : MonoBehaviour
{
    public Slider m_slider;

    private void Awake()
    {
        m_slider.onValueChanged.AddListener( _ => Debug.Log( "ピカチュウ" ) );

        // onValueChanged が呼び出される
        m_slider.value = 1;

        // onValueChanged は呼び出されない
        m_slider.SetValueWithoutNotify( 0 );
    }
}
  • SetValueWithoutNotify 関数で値を設定すると onValueChanged は呼び出されない