FC2ブログ
    09 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 11

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】Toggleで値を変えたときにonValueChangedで処理したくないとき 

    こんにちは。
    大坂です。

    Toggleの値が変わったらonValueChangedでなにか処理をしたいときがよくありますね。
    が、しかし処理タイミングによっては処理をしたくないときもあります。。
    そんなときは「SetIsOnWithoutNotify」を使うとonValueChangedの処理が呼び出されなくなります。

    public class Test : MonoBehaviour
    {
    public Toggle toggle;

    void Start()
    {
    toggle.onValueChanged.AddListener(a => Debug.Log("Test"));

    // onValueChangedが呼び出される
    toggle.isOn = false;
    // onValueChangedが呼び出されない
    toggle.SetIsOnWithoutNotify(true);
    }
    }



    「toggle.isOn」で変更している一回分のログしか出ていませんね。
    という感じで、「SetIsOnWithoutNotify」を使用すればonValueChangedが呼び出されません。

    他にもSliderやDropdownなら「SetValueWithoutNotify」を使用すればonValueChangedが呼び出されなくなります。
    なにかの参考にしてくださいませ。

    ではではノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/714-6dee4cda
    この記事にトラックバックする(FC2ブログユーザー)