简易虚拟培训系统-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. 运行结果
相关推荐
n87658 小时前
Playwright Java WEB UI 自动化实现框架与逻辑
java·前端·ui
年少无知且疯狂11 小时前
【Unity】Shader spine动画冻结效果
unity·spine
Cx330❀12 小时前
深入浅出 Qt 绘图机制:从 QPainter 到四大图像类解析
开发语言·qt·ui·性能优化·图形渲染
淡海水12 小时前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
淡海水16 小时前
05-03-源码-Boehm GC分配与碎片管理
开发语言·算法·unity·c#·游戏引擎·gc
Oll Correct17 小时前
Adobe illustrator 案例十一:城堡图标绘制
ui·adobe·illustrator
沫璃染墨2 天前
《Qt从零入门系列(十四):QThread多线程详解——从线程创建到客户端阻塞处理》
开发语言·c++·笔记·qt·ui·交互·线程
WarPigs2 天前
Unity无法修改Assembly-CSharp.csproj错误
unity
特立独行的猫a3 天前
仓颉语言GUI开发实战:用仓颉写串口/网络二合一调试助手
网络·ui·gui·harmonyos·tauri·仓颉
FairGuard手游加固3 天前
手游加固怎么做?SO、IL2CPP、AssetBundle 与运行时保护详解
安全·游戏·unity