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:空物体,带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

Group

  1. 为Image添加Toggle Group组件。
  2. 将添加了Toggle Group组件的Image分别拖到Toggle1和Toggle2的Group位置。
  3. 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);
    }
}

变化事件

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值