Slider OnValueChanged
Добавлено:
09 янв 2019, 22:07
Urion
Есть Slider, есть функция для него.
По идее функция должна вызываться когда я переместил ползунок слайдера в ручную и не вызываться когда я просто меняю значение через скрипт,
но если вешать функцию на OnValueChanged в инспекторе, то она вызывается в обоих случаях.
Как сделать что бы функция вызывалась только тогда, когда я таскаю слайдер в ручную?
Re: Slider OnValueChanged
Добавлено:
09 янв 2019, 22:49
1max1
На ум приходит только костыль)
Используется csharp
using UnityEngine;
using UnityEngine.UI;
class test : MonoBehaviour
{
public Slider slider;
bool _break;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
_break = true;
slider.value += 0.01f;
}
}
public void Change(float value)
{
if (_break)
{
_break = false;
return;
}
print(value);
}
}
Re: Slider OnValueChanged
Добавлено:
11 янв 2019, 15:15
AngryCat
1max1 писал(а):На ум приходит только костыль)
Используется csharp
using UnityEngine;
using UnityEngine.UI;
class test : MonoBehaviour
{
public Slider slider;
bool _break;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
_break = true;
slider.value += 0.01f;
}
}
public void Change(float value)
{
if (_break)
{
_break = false;
return;
}
print(value);
}
}
Не самый умный способ, учитывая тот факт, что я могу просто нажать в любую точку экрана и этот метод сработает :/
Re: Slider OnValueChanged
Добавлено:
11 янв 2019, 15:17
1max1
GetMouseButtonDown() я просто для примера добавил.
Re: Slider OnValueChanged
Добавлено:
22 янв 2019, 20:25
AngryCat
Я бы сделал проще. Когда меняешь value скриптом делаешь в коде булевую пометочку, что меняешь скриптом.