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

news2024/10/7 8:20:10

目录

Slider组件的常用参数

示例-使用Slider控制主轴

示例-Slider控制溜板箱的移动


本文以操作面板为例,介绍使用Slider控件控制开关和速度。

Slider组件的常用参数

  Slider组件下面包含了3个子节点,都是Image组件,负责Slider的背景、填充区域和滑动手柄的图片显示,Image组件在前文已经写过,不再赘述(Image组件)。

  最重要的组件在Slider节点上,这里介绍常用的参数:

  1. 颜色设置:与按钮Button中的颜色设置一样,主要检测鼠标(或其他输入设备)的射线,离开、悬停、点击等不同状态时的颜色显示(详见Button的设置)。

  2. Slider的值变化:这是Slider控件中最重要的参数

  3. OnValueChanged:当Slider值变化时关联的回调函数,设置方式和Button类似

示例-使用Slider控制主轴

  1. 场景中找到需要被控制的机床主轴MainAxis

 

  2. 制作Slider控件:

  3. 脚本如下:当获取到Slider的值为1时,主轴旋转

public class mainAxisCtrl : MonoBehaviour
{//主轴运动控制
    public float axisSpeed = 20;   //主轴的旋转速度
    public Slider onOffCtrlSlider; //开关Slider
    public GameObject mainAxis;    //载入主轴的节点
    
    void Update()
    {
        if(onOffCtrlSlider.value==1)
            mainAxis.transform.Rotate(0,0,axisSpeed);
    }
}

  4. 同样将脚本挂在空节点Empty上,拖入相应的节点

  

示例-Slider控制溜板箱的移动

  1.制作溜板箱的Slider

  

  2. 调整Slider控件的数值:溜板箱的行程较长,可以将Slider的数值当作移动长度的百分比,起始位置是0

  3. 脚本如下:

public class carriageCtrl : MonoBehaviour
{//溜板箱的控制
    public Slider carCtrlSlider; //溜板箱移动Slider
    public GameObject carriage;    //载入溜板箱的节点
    private float startPos, endPos,curMovPos; //溜板箱移动方向的起始坐标记录
    private Vector3 oriCarPos;  //溜板箱的最初位置
    void Start()
    {
        startPos = -1;    //记录溜板箱移动方向(X轴)起点位置
        endPos = -2.5f;   //记录溜板箱移动方向(X轴)终点位置
        curMovPos =- (startPos - endPos)/100;  //起点和终点的差分成100等份
        oriCarPos=carriage.transform.localPosition; //记录溜板箱最初的坐标
    }
    
    void Update()
    {//溜板箱当前的位置为起点距离+Slider滑动的数值比例,仅修改x方向
        carriage.transform.localPosition = new Vector3(startPos+curMovPos * carCtrlSlider.value,oriCarPos.y, oriCarPos.z);
    }
}

  4. 同样,将脚本挂在空节点Empty上,并赋值Slider节点和溜板箱的节点:

  5. 运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/949620.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux————ELK(日志收集系统集群)

一、概述 一、为什么要使用ELK 日志对于分析系统、应用的状态十分重要,但一般日志的量会比较大,并且比较分散。 如果管理的服务器或者程序比较少的情况我们还可以逐一登录到各个服务器去查看、分析。但如果服务器或者程序的数量比较多了之后这种方法就显…

C++ ASIO 实现异步套接字管理

Boost ASIO(Asynchronous I/O)是一个用于异步I/O操作的C库,该框架提供了一种方便的方式来处理网络通信、多线程编程和异步操作。特别适用于网络应用程序的开发,从基本的网络通信到复杂的异步操作,如远程控制程序、高并…

vulnhub靶机Solstice

下载地址:https://download.vulnhub.com/sunset/solstice.ova 主机发现 arp-scan -l 扫描端口 nmap --min-rate 10000 -p- 192.168.21.147 这里端口有太多于是我就整理了一下 nmap --min-rate 10000 -p- 192.168.21.147 -oA ports 数据整理 cat ports.nmap|grep…

【不良人】官方声明:天罡传电影拍摄三部,第七季仅一句话说明

Hello,小伙伴们,我是小郑继续为大家深度解析画江湖系列! 距离画江湖之不良人第六季完结已经有一段时间了,就在小郑都快忘了这部动漫的时候,突然官方发声了。先是透露了关于画江湖之不良人番外电影天罡传的情报,之后又明…

Ansible自动化运维之playbooks剧本

文章目录 一.playbooks介绍1.playbooks简述2.playbooks剧本格式3.playbooks组成部分4.运行playbooks及检测文件配置 二.模块实战实例1.playbooks模块实战实例2.vars模块实战实例3.指定远程主机sudo切换用户4.when模块实战实例5.with_items迭代模块实战实例6.Templates 模块实战…

windows 搭建 swoole开发环境(官网已支持)

第一步下载:swoole官网下载 swoole-cli-v5.0.3-cygwin-x64.zip 只支持 64 位的系统 第二步解压到指定文件夹:E:\phpstudy_pro\WWW\swoole-cli-v5.0.3-cygwin-x64 第三步设置环境变量:把解压后的文件夹下的 bin 目录路径配置到系统的 Path 环境…

茶凳浅谈-使用QCA7006AQ 让电动汽车成为智慧电网的一环

前言: 智慧电网一词相信大家都已经耳熟能详。智能电网是指采用先进的电力技术和设备、信息与通信技术,系统地实现电网的智能型监测、分析和决策控制,支持新型能源发电和灵活优质用电,具有高自动化水平,并有一定自愈、互动功能的安…

百万级单细胞多组学数据集成

写在前面 这是一篇粉丝来稿,文章题目为“Multi-omics integration in the age of million single-cell data”,于2021年发表于《Nature Reviews Nephrology》上,影响因子为42.439。由于单细胞目前快速的买入了百万级、多组学的时代&#xff…

用WebGPU实现基于物理的渲染

推荐:用 NSDT编辑器 快速搭建可编程3D场景 最近,我花了相当多的时间在 WebGPU 中使用 IBL(基于图像的照明)编写 PBR(基于物理的渲染)渲染器。 PBR 本身并没有什么新奇之处。 这是一项自 2014 年以来就存在的…

Python装饰器(decorators)

本文改编自以下文章:Decorators in Python 装饰器是一个很强大的工具,它允许我们很便捷地修改已有函数或者类的功能,我们可以用装饰器把另一个函数包装起来,扩展一些功能而不需要去修改这个函数代码。 预备知识 在Python中&…

度矩阵、邻接矩阵

度矩阵(degree matrix) 度矩阵是对角阵,对角上的元素为各个顶点的度,顶点vi的度表示和该顶点相关联的变得数量。 在无向图中,顶点vi的度d(vi)N(i)(即与顶点相连的边的数目)有向图中&#xff0…

六年北漂:一个普通程序员的成长之路

微信推送规则改了,星标一下公众号,否则可能收不到推送 收拾完东西,终于忙完一天了,坐在桌子前,梳理一下我的北漂经历。 中午刚下飞机,到了住的地方,直接开始下雨,瞬间感受到一股闷热…

揭秘:房产小程序如何助力售楼业务提升

随着移动互联网的发展,小程序已经成为各行各业进行营销推广的利器之一。对于房地产行业而言,小程序同样具有巨大的潜力。下面,我们将介绍如何使用乔拓云平台开发一款吸睛的房地产营销小程序。 第一步:注册登录乔拓云平台&#xff…

Linux基础--文件描述符

目录 一.C文件接口 1.hello.c写文件 2.hello.c读文件 3.输出信息到显示器 二、系统文件I/O 0.系统调用和库函数 1.open 2.write 3.read 4.close 三、文件描述符fd 1. 0 & 1 & 2 2.文件描述符分配规则 3.重定向 4.使用dup2系统调用 四、FILE 一.C文件接…

为了做好农业,拼多多请来顶尖农业专家当独立董事

8月29日,拼多多发布截至6月30日的2023年第二季度业绩报告。财报显示,拼多多集团今年第二季度收入为523亿元,同比增长66%,远超市场预期。 财报发布的同时,拼多多还宣布,其董事会已聘任荷兰瓦赫宁根大学终身…

【办公自动化】使用Python批量处理Excel文件并转为csv文件

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

一文了解聚合支付

第四方支付是相对于第三方支付而提出的概念,又被称为“聚合支付”是指通过聚合第三方支付平台、合作银行、等多种支付工具进行的综合支付服务。 简言而之,把支付接口聚合到一个平台上面,来给商家或者个人来提供支付服务。 第四方支付集中了各…

为什么深度网络(vgg,resnet)最后都不使用softmax(概率归一)函数,而是直接加fc层?

这个问题很简单,并不是没有使用softmax,而是没有显式使用softmax。 随着深度学习框架的发展,为了更好的性能,部分框架选择了在使用交叉熵损失函数时默认加上softmax,这样无论你的输出层是什么,只要用了nn.…

【GO】LGTM_Grafana_Tempo(2) --- 官方用例改后实操

最近在尝试用 LGTM 来实现 Go 微服务的可观测性,就顺便整理一下文档。 Tempo 会分为 4 篇文章: Tempo 的架构官网测试实操跑通gin 框架发送 trace 数据到 tempogo-zero 微服务框架使用发送数据到 tempo 根据官方文档实操跑起来 tempo,中间根…

测试理论与方法----软件测试工作流程第一个环节:提取测试需求

测试理论与方法 一、软件测试流程 1、软件测试定义 软件:程序数据文档:不仅仅包含应用程序,还应该包含和这个程序相关的数据,文档 软件测试:测试的对象:应用程序,数据,文档 软件…