Поэтому я пытаюсь изменить значение ползунка, исходя из процента экрана, по которому вы перешли.Я хочу, если у вас пиксель топора меньше 100, значение ползунка будет 0, а если пиксель топора больше 1820, вы получите максимальное значение.Если вы используете любое другое значение, я хочу, чтобы normalizedValue ползунка было установлено в FingerXPos / (Screen.width-200).По крайней мере, я думаю, что математика верна.Я хочу, чтобы сенсорная область ползунка начиналась с 100 и заканчивалась в 1820. Если предыдущий x pos пользователя меньше, чем x pos, который представляет, где находится дескриптор в данный момент, который я пытаюсь вычислить, используя float CurrentXSliderPos = ((Screen.width-200) * SliderNormalizedValue) +100, и текущее положение x пальца больше текущей позиции ползунка x, или предыдущее значение x больше текущей позиции ползунка x, а текущее значение пальца x меньше текущей позиции x.нормализованное значение моего слайдера.Теперь моя проблема в том, что это, кажется, прекрасно работает для увеличения значения ползунка, но когда я пытаюсь уменьшить его, он поднимается один раз, а не падает.Я не уверен, как это исправить.Любая помощь приветствуется.Ниже приведен мой текущий код для обновления значения моего слайдера.
private void TPUpdateValue()
{
float SliderNormalizedValue = SliderObj.normalizedValue;
float CurrentXSliderPos = ((Screen.width-200) * SliderNormalizedValue)+100;
if(FingerXPos>=100 && FingerXPos<=1820 && ( (PrevFingerXPos < CurrentXSliderPos && FingerXPos >= CurrentXSliderPos) || (PrevFingerXPos > CurrentXSliderPos && FingerXPos <=CurrentXSliderPos) ) )
{
SliderObj.normalizedValue = FingerXPos / (Screen.width-200);
}
else if (FingerXPos < 100 && ( (PrevFingerXPos < CurrentXSliderPos && FingerXPos >= CurrentXSliderPos) || (PrevFingerXPos > CurrentXSliderPos && FingerXPos <= CurrentXSliderPos) ) )
{
SliderObj.normalizedValue = 0;
}
else if (FingerXPos >1820 && ((PrevFingerXPos < CurrentXSliderPos && FingerXPos >= CurrentXSliderPos) || (PrevFingerXPos > CurrentXSliderPos && FingerXPos <= CurrentXSliderPos) ) )
{
SliderObj.normalizedValue = 1;
}
}