好的,我在Unity中有一个滑块,其百分比等于1440中一天中当前分钟的百分比,即24小时的总分钟数。
currentMinute = System.DateTime.Now.Minute + (System.DateTime.Now.Hour * 60);
barPercentage = currentMinute / 1440;
这很好,但是如果拖动滑块,我不想将slider.value设置为此百分比。香港专业教育学院尝试了一切,包括将事件触发器添加到句柄,然后像这样触发布尔:
public void SliderSelected()
{
sliderSelect = true;
}
public void SliderDeselect()
{
sliderSelect = false;
}
if(!sliderSelect)
{
slider.value = gameController.barPercentage;
}
问题是,因此无法拖动滑块。如果我删除此滑块,则可以使用:
slider.value = gameController.barPercentage;
但是bool也在起作用-当我按住手柄时,由于Im使用PointerDown和PointerUp释放时,布尔值为true和false。
我该怎么做?
答案 0 :(得分:0)
使用以下脚本和设置似乎可以正常工作:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Slid : MonoBehaviour
{
Slider slide;
bool sliderSelect = false;
// Start is called before the first frame update
void Start()
{
slide = GetComponent<Slider>();
}
public void SliderSelected()
{
sliderSelect = true;
}
public void SliderDeselect()
{
sliderSelect = false;
}
public void Update()
{
float currentMinute = System.DateTime.Now.Minute + (System.DateTime.Now.Hour * 60);
float barPercentage = currentMinute / 1440;
if (!sliderSelect)
{
slide.value = barPercentage;
}
}
}
滑块的统一检查器视图