Unity之Toggle、ToggleGroup使用
Toggle属性
Transition
None:无
Color Tint:颜色色彩
Target Graphic:目标图形
Normal Color:正常颜色
Highlighted Color:高亮颜色
Pressed Color:按下颜色
Selected Color:选择颜色
Disabled Color:已禁用颜色
Color Multiplier:色彩乘数
Fade Duration:淡化持续时间
Sprite Swap:精灵交换
Target Graphic:目标图形
Highlighted Sprite:高亮精灵
Pressed Sprite:按下精灵
Selected Sprite:选择精灵
Disabled Sprite:已禁用精灵
Animation:动画
Normal Trigger:正常触发
Highlighted Trigger:高亮触发
Pressed Trigger:按下触发
Selected Trigger:选择触发
Disabled Trigger:引禁用触发
Auto Generate Animation 自动生成动画
Navigation
导航,选中该按钮后可以用方向键比如WASD以及上下左右按键选择其他按钮,前提是导航目标按钮也开启了导航功能,可通过回车或者空格点击按钮响应点击事件。
None:无
Horizontal:水平
Vertical:垂直
Automatic:自动
Explicit:显式
Select On Up:向上选择
Select On Down:向下选择
Select On Left:向左选择
Select On Right:向右选择
Visualize:可视化,把按键能够导航到的路径可视化,高亮的黄色箭头为当前按钮可导航到的目标
Is On
此Toggle是否开启,默认是否被选中。
Toggle Transition
切换过渡 None:无,Fade:淡入淡出
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);
}
}