Unity 光标控制进度条Slider
来源:互联网 发布:安卓开发艺术探索源码 编辑:程序博客网 时间:2024/05/16 14:57
现在做的VR项目有这个功能,就是通过凝视来控制滑动条,但是用的是Google VR SDK ,这是不支持点击的,
只能通过凝视时长判断点击,当时看到这个需求真心没思路,后来突然脑袋灵光了,
有同样的需求的可以看看,如果有更好的方法可以一起分享一下
using UnityEngine;using System.Collections;using UnityEngine.UI;public class Controller : MonoBehaviour { public Slider slider; public RectTransform sliderT; public Canvas canvas; private float _refreshRule = 0.02f; //这是用来纠正,防止鼠标有微弱抖动也会导致刷新(显然这对凝视是有交互障碍的,所以设置缓冲) private bool _enter = false; void Start() { EventTriggerListener.Get(slider.gameObject).onEnter = this.__onEnter; EventTriggerListener.Get(slider.gameObject).onExit = this.__onExit; } void Update() { if (_enter) set(); } private void set() { //输出鼠标的UI位置 Vector2 _pos = Vector2.one; RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, Input.mousePosition, canvas.worldCamera, out _pos); //这里算出鼠标相对slider的位置比例 float v = (_pos.x - slider.transform.localPosition.x + sliderT.sizeDelta.x / 2) / sliderT.sizeDelta.x; v = Mathf.Clamp01(v); //交互缓冲 if (Mathf.Abs(v - slider.value) > _refreshRule) slider.value = v; } private void __onEnter(GameObject go) { _enter = true; } private void __onExit(GameObject go) { _enter = false; }}
下面附上Demo, 不过代码上面都有了,点击下载
0 0
- Unity 光标控制进度条Slider
- unity 进度条制作:Slider,Scrollbar
- 【Unity】加载Loading场景进度条slider平滑问题
- Unity 滑动条Slider控制音量大小(笔记)
- Ext.Slider进度条使用
- slider进度条 - 绘制圆形
- UGUI - 制作Slider进度条
- 控制光标
- 光标控制
- Unity 进度条
- Unity 进度条
- Unity之EditorGUILayout-Slider-四
- unity Slider的具体使用
- AJAX控件之Slider(进度条效果)
- Libgdx之ProgressBar (进度条) Slider(滑动条)
- GUI2 进度条LoadingBar 滑块 Slider
- slider控件控制文本框字体大小
- 进度条控制
- swift学习一月总结
- bootstrap modal模态窗口拖拽功能
- 【Tomcat】Filter 原理
- 最全面的RecyclerView源码解析(一)
- 第90篇一对多之学生举手提问及老师点课堂模式掉线
- Unity 光标控制进度条Slider
- 【HDU4035】Maze-期望DP+树形DP
- EB propsim F8
- javascript 剑指offer
- ubuntu下安装并配置Nginx、php、mysql
- ORACLE 中ROWNUM用法总结!
- 工资读取excel表格发送工具
- Others1_教你快速玩转chrome浏览器
- python判断输入日期为第几天