2016-08-04 2 views
0

Это пример слайдера:Пользовательский слайдер в Unity Inspector

public class MyClass : MonoBehaviour 
{ 
[Range(0.0f, 10.0f)] 
public float mySliderFloat; 
.. 
} 

Но я хочу Min-Max значения ползунка, зависит от разрешения экрана (установить эти значения Min-Max динамически в каждом кадре) Не могли бы вы привести мне пример?

+0

Кстати, в 99% случаях вы хотите использовать '[SerializeField] private' вместо' public'. –

ответ

1

параметры атрибутов ограничены постоянных значения следующих типов:

Простых типов (BOOL, байты, символ, короткий, INT, длинная, с плавающей точкой и двойная)

строка система. Тип объект перечислений (аргумент для атрибута параметра объекта типа должен быть постоянным значением одного из указанных выше типов .)

одномерных массивов любых из указанных выше типов (выделено , добавленный мной)

Так технически вы не можете это сделать. Если вы хотите установить минимальное и максимальное значение переменной во время выполнения, вам необходимо использовать Mathf.Clamp(value,min,max). Прочитайте this из документов единства. Таким образом вы можете динамически установить min и max и изменить желаемое значение между ними в методе Update().

0

Это возможно, но, как указано, не с атрибутом диапазона по умолчанию. Вам нужно будет написать custom inspector с вашим собственным slider, используя значения переменных, которые вы хотите использовать.

Смежные вопросы