简易虚拟培训系统-UI控件的应用5

目录

Toggle控件简介

示例-使用Toggle组实现主轴速度选择


本篇介绍UI控件Toggle,尝试一个小示例-使用单选框实现速度的选择控制。

Toggle控件简介

  1. Toggle的结构如下:最重要的Toggle组件挂在Toggle节点上,下面的Image组件用于显示单选框的背景和勾选的图片,Label上挂载的Text组件用于修改Toggle的显示文本

  1. Toggle组件的重要参数:最重要的就是"IsOn"参数,它是一个bool值,判断当前Toggle是否被勾选。
  1. Toggle组:当Toggle选项较多时,可以在所有Toggle节点之上建立一个ToggleGroup父节点,挂载ToggleGroup组件,当需要实现单选时,还可以勾选上AllowSwitchOff选项

还需要在每一个Toggle组件的Group变量中,载入父节点ToggleGroup

示例-使用Toggle组实现主轴速度选择

  1. 制作UI界面:在上一篇主轴控制的面板后加上速度选择的3个Toggle
  1. 修改上一篇主轴控制的代码mainAxisCtrl.cs
cs 复制代码
public class mainAxisCtrl : MonoBehaviour
{//主轴运动控制
    public float axisSpeed = 20;   //主轴的旋转速度
    public Slider onOffCtrlSlider; //开关Slider
    public GameObject mainAxis;    //载入主轴的节点
    public Toggle[] toggles;   //数组载入toggle组

    void Update()
    {
        if (onOffCtrlSlider.value == 1)
        {
            var speedIndex = 1;
            for (int i = 0; i < toggles.Length; i++)
            {//遍历toggles数组,检查哪一个被选中
                if (toggles[i].isOn)
                    speedIndex = i + 1; //得到当前速度的编号
            }
            mainAxis.transform.Rotate(speedIndex*axisSpeed*Time.deltaTime,0, 0);
        }
    }
}
  1. 将脚本挂在空节点Empty上,将新建的3个Toggle控件拖入Toggles数组中
  1. 运行结果
相关推荐
SmalBox1 天前
【光照】[自发光Emission]以UnityURP为例
unity·渲染
SmalBox2 天前
【光照】Unity中的[经验模型]
unity·渲染
萘柰奈2 天前
Unity学习----【进阶】TextMeshPro学习(三)--进阶知识点(TMP基础设置,材质球相关,两个辅助工具类)
学习·unity
Yasin Chen2 天前
Unity UI坐标说明
ui·unity
陈言必行2 天前
Unity 性能优化 之 编辑器创建资源优化( 工作流 | 场景 | 预制体)
unity·编辑器·游戏引擎
1uther3 天前
Unity核心概念⑨:Screen
开发语言·游戏·unity·c#·游戏引擎
死也不注释3 天前
【Unity UGUI 交互组件——Slider(7)】
unity·游戏引擎·交互
程序猿多布3 天前
XLua教程之热补丁技术
unity·c#·lua·xlua
眠りたいです3 天前
基于脚手架微服务的视频点播系统-数据管理与网络通信部分的预备工作
c++·qt·ui·微服务·云原生·架构·媒体
SmalBox3 天前
【光照】Unity中的[光照模型]概念辨析
unity·渲染