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
