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

目录

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; //开关Sliderpublic 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; //溜板箱移动Sliderpublic 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.hqwc.cn/news/90503.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构1 -- leetcode练习

三. 练习 3.1 时间复杂度 用函数 f ( n ) f(n) f(n) 表示算法效率与数据规模的关系,假设每次解决问题需要 1 微秒( 1 0 − 6 10^{-6} 10−6 秒),进行估算: 如果 f ( n ) n 2 f(n) n^2 f(n)n2 那么 1 秒能解决多…

【设计模式】装饰者模式

目录 一、定义二、结构三、优点四、使用场景五、代码示例六、截图示例 一、定义 1.在不改变现有对象结构的情况下,动态给该对象添加额外功能的模式 2.类B继承于类A,并将类A作为B类的属性(B类聚合A类) 3.BufferedInputStream、Buff…

C语言(第三十天)

1. 什么是bug bug本意是昆虫”或“虫子”,现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问 题,简称程序漏洞。 “Bug” 的创始人格蕾丝赫柏(Grace Murray Hopper),她是一位为美国海军工作的…

搭建个人备忘录中心服务memos、轻量级笔记服务

目录 一、源码 二、官网 三、搭建 四、使用 一、源码 GitHub - usememos/memos: A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts. 二、官网 memos - Easily capture and share your great thoughts 三、搭建 docke…

Ae 效果:CC Glass Wipe

过渡/CC Grid Wipe Transition/CC Grid Wipe CC Glass Wipe(CC 玻璃擦除)效果用于创建一种基于亮度信息的擦除方式,过渡边缘有类似于玻璃的质感。 ◆ ◆ ◆ 效果属性说明 Completion 完成度 控制过渡效果的完成进度。 值从 0 %(…

15.MyCat数据库分片

MyCat 是一个开源的数据库中间件,主要用于将数据库操作请求路由和分发到后端的多个数据库节点。 1.Mycat环境搭建 在两个不同数据库中创建相同表 下载mycat https://github.com/MyCATApache/Mycat-Serverhttps://github.com/MyCATApache/Mycat-Server 将下…

Centos误删系统自带python2.7,yum报错恢复方法

使用wget分别下载python以及yum的rpm包 资源地址如下: http://vault.centos.org mkdir /usr/local/src/pythoncd /usr/local/src/pythonwget http://vault.centos.org/7.6.1810/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpmwget ht…

vue h5项目 打包加载优化

打包美化: 1)npx browserslistlatest --update-db 更新去除警告 2)打包进度条 npm add progress-bar-webpack-plugin -D npm add webpackbar -D npm install --save-dev webpack-bundle-analyzer 优化: 1.各个插件和loader所花费的时间 …

RTPEngine 通过 HTTP 获取指标的方式

文章目录 1.背景介绍2.RTPEngine 支持的 HTTP 请求3.通过 HTTP 请求获取指标的方法3.1 脚本配置3.2 请求方式 1.背景介绍 RTPEngine 是常用的媒体代理服务器,通常被集成到 SIP 代理服务器中以减小代理服务器媒体传输的压力,其架构如下图所示。这种使用方…

YII项目在Docker中运行缓慢

缓慢问题分析 请求YII的api时间请求原生查询时间win10 上运行docker上的php api异常慢ubuntu 中拉代码git报错 请求YII的api时间 请求原生查询时间 win10 上运行docker上的php api异常慢 链接阿里数据的 入口直接返回的 网上有说是docker的dns解析慢; 也有说是…

Java“牵手”1688商品跨境属性数据,1688API接口申请指南

1688平台商品详情跨境属性数据接口是开放平台提供的一种API接口,通过调用API接口,开发者可以获取1688商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片,重量,详情描述等详细信息 。 获取商品详情接口API是一种用于…

Modbus转Profinet网关在大型自动化仓储项目应用案例

在自动化仓储项目中,Modbus是一种常见的通信协议,用于连接各种设备,例如传感器、PLC和人机界面。然而,Modbus协议只支持串行通信,并且数据传输速度较慢。为了提高通信效率和整体系统性能,许多大型仓储项目选…