Version: 2023.2

EditorGUI.MinMaxSlider

切换到手册
Obsolete public static void MinMaxSlider (GUIContent label, Rect position, ref float minValue, ref float maxValue, float minLimit, float maxLimit);
public static void MinMaxSlider (Rect position, ref float minValue, ref float maxValue, float minLimit, float maxLimit);
public static void MinMaxSlider (Rect position, string label, ref float minValue, ref float maxValue, float minLimit, float maxLimit);
public static void MinMaxSlider (Rect position, GUIContent label, ref float minValue, ref float maxValue, float minLimit, float maxLimit);

参数

position 屏幕上用于滑动条的矩形。
label (可选)滑动条前的标签。
minValue 滑动条显示的范围内的下限值,按引用传递。
maxValue 滑动条显示的范围内的上限值,按引用传递。
minLimit 滑动条左端的限值。
maxLimit 滑动条右端的限值。

描述

创建一个特殊滑动条,用户可利用该滑动条指定最小值和最大值之间的一个范围。


编辑器窗口中的 MinMax 滑动条。

using UnityEngine;
using UnityEditor;

// Place the selected object randomly between the interval of the Min Max Slider // in the X,Y,Z coords

class EditorGUIMinMaxSlider : EditorWindow { float minVal = -10; float minLimit = -20; float maxVal = 10; float maxLimit = 20;

[MenuItem("Examples/Editor GUI Move Object Randomly")] static void Init() { var window = GetWindow<EditorGUIMinMaxSlider>(); window.Show(); }

void OnGUI() { EditorGUI.MinMaxSlider( new Rect(0, 0, position.width, 20), new GUIContent("Random range:"), ref minVal, ref maxVal, minLimit, maxLimit); if (GUI.Button(new Rect(0, 25, position.width, position.height - 25), "Randomize!")) { PlaceRandomly(); } }

void PlaceRandomly() { if (Selection.activeTransform) { Selection.activeTransform.position = new Vector3( Random.Range(minVal, maxVal), Random.Range(minVal, maxVal), Random.Range(minVal, maxVal) ); } else { Debug.LogError("Select a GameObject to randomize its position."); } } }