Toggle(Script)
Interactable | 可交互 | 是否可点击 |
Transition | 过渡 |
|
Navigation | 导航 选中该按钮后可以用方向键比如WASD以及上下左右按键选择其他按钮,前提是导航目标按钮也开启了导航功能,可通过回车或者空格点击按钮响应点击事件 |
|
Is On | 是否开启 | 此Toggle是否开启 |
Toggle Transition | 切换过渡 |
|
Graphic | 图形 | 用鼠标点击那个Toggle按钮,其对勾符号会在出现与不出现之间切换,它的原理就是控制那个对勾图像出现与不出现而实现的,这个Graphic就是设置这个属性值的 |
Group | 组 | 多个Toggle实现单选框功能: 为一物体添加ToggleGroup组件,然后将此物体添加到多个Toggle的Group里 |
On Value Changed(Boolean) | 值改变时(布尔) | 根据布尔值的变化,即是否开启,来实现对应的事件 |
自带Toggle
Toggle:空物体,带Toggle组件。
Background:图片,用作选择框底图。
Checkmark:图片,用作选择标记,即对勾。
Label:文本,用于文字说明。
代码设置与判定
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestUI : MonoBehaviour
{
Toggle toggle;
void Start()
{
toggle = gameObject.GetComponent<Toggle>();
toggle.isOn = false;
}
void Update()
{
if (toggle.isOn == true)
{
Debug.Log("OK");
toggle.isOn = false;
}
}
}
Toggle Group
游戏层级关系如下图:
为Image添加Toggle Group组件。
将添加了Toggle Group组件的Image分别拖到Toggle1和Toggle2的Group位置。
Toggle1和Toggle2则实现单选效果。
绑定事件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestUI : MonoBehaviour
{
Toggle toggle;
void Start()
{
toggle = GameObject.Find("Canvas/Toggle").GetComponent<Toggle>();
}
public void GetValue(bool b)
{
Debug.Log(b);
}
}