facebook twitter hatena line email

Unity/UIToggle

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

チェックボタン

GameObject.Find("/Canvas/Toggle").GetComponent<Toggle>().isOn = true;
GameObject.Find("/Canvas/Toggle").GetComponent<Toggle>().isOn = false;

変更イベント

using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
    Toggle mToggle;
    void Start()
    {
        mToggle = GameObject.Find("Toggle").GetComponent<Toggle>();
        mToggle.isOn = true;
        mToggle.onValueChanged.AddListener(delegate {
            ToggleValueChanged(mToggle);
        });
        Debug.Log("First Value : " + mToggle.isOn);
    }
    void ToggleValueChanged(Toggle change)
    {
        Debug.Log("New Value : " + change.isOn);
    }
}

公式:https://docs.unity3d.com/ja/current/ScriptReference/UI.Toggle-onValueChanged.html

toggleの色変更

Toggle toggle = GameObject.Find("Toggle").GetComponent<Toggle>();
var newColors = toggle.colors;
newColors.normalColor = new Color(1f, 0.5f, 0.5f, 1f); // r,g,b,a
toggle.colors = newColors;

2行目までだと接位できない。toggle.colorsは、最後に入れ直さないとならない。参照渡しになってないっぽい。

参考:https://qiita.com/daria_sieben/items/920c42c9046678baa971