EditorGUI.ColorField
Declaration
public static Color ColorField(Rect position, Color value);public static Color ColorField(Rect position, string label, Color value);public static Color ColorField(Rect position, GUIContent label, Color value);public static Color ColorField(Rect position, GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr);Obsolete public static Color ColorField(Rect position, GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr, ColorPickerHDRConfig hdrConfig);Параметры
| Параметр | Описание |
|---|---|
| должность | Прямоугольник на экране, который будет использоваться для поля. |
| метка | Необязательная метка для отображения перед полем. |
| значение | Цвет для редактирования. |
| showEyedropper | Если true, то в выборе цвета должен быть показан контрольный элемент капельницы. Если false, то он не должен быть показан. |
| showAlpha | Если true, разрешить пользователю установить альфа-значение для цвета. Если false, скрыть альфа-компонент. |
| hdr (высококачественный) | Если true, цвет рассматривается как значение HDR. Если false, цвет рассматривается как стандартное значение LDR. |
Возвращаемое значение
Цвет Цвет выбран пользователем.
Описание
Создает поле для выбора Color.
Поле цвета в окне редактора.
using UnityEngine; using UnityEditor;
// Change The color of the selected Game Objects class EditorGUIColorField : EditorWindow { Color matColor = Color.white;
[MenuItem("Examples/Mass Color Change")]
static void Init() { var window = GetWindow<EditorGUIColorField>(); window.position = new Rect(0, 0, 170, 60); window.Show(); }
void OnGUI() { matColor = EditorGUI.ColorField(new Rect(3, 3, position.width - 6, 15), "New Color:", matColor); if (GUI.Button(new Rect(3, 25, position.width - 6, 30), "Change!")) { ChangeColors(); } }
void ChangeColors() { if (Selection.activeGameObject) { foreach (GameObject obj in Selection.gameObjects) { Renderer rend = obj.GetComponent<Renderer>();
if (rend != null) { rend.sharedMaterial.color = matColor; } } } } }