Unity UGUI(六)Toggle(开关/切换)

Toggle(Script)

Unity UGUI(六)Toggle(开关/切换)_第1张图片  Unity UGUI(六)Toggle(开关/切换)_第2张图片 

Interactable 可交互 是否可点击
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.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();
    }

    public void GetValue(bool b)
    {
        Debug.Log(b);
    }
}

Unity UGUI(六)Toggle(开关/切换)_第3张图片

Unity UGUI(六)Toggle(开关/切换)_第4张图片

 

你可能感兴趣的:(Unity)