EditorGUILayout.ColorField
Declaration
public static Color ColorField(Color value, params GUILayoutOption[] options);public static Color ColorField(string label, Color value, params GUILayoutOption[] options);public static Color ColorField(GUIContent label, Color value, params GUILayoutOption[] options);public static Color ColorField(GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr, params GUILayoutOption[] options);Obsolete public static Color ColorField(GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr, ColorPickerHDRConfig hdrConfig, params GUILayoutOption[] options);Параметры
| Параметр | Описание |
|---|---|
| метка | Необязательная метка для отображения перед полем. |
| значение | Цвет для редактирования. |
| showEyedropper | Если true, то в выборе цвета должен быть показан контрольный элемент капельницы. Если false, то он не должен быть показан. |
| showAlpha | Если true, разрешить пользователю установить альфа-значение для цвета. Если false, скрыть альфа-компонент. |
| hdr (высококачественный) | Если true, цвет рассматривается как значение HDR. Если false, цвет рассматривается как стандартное значение LDR. |
| варианты | Необязательный список параметров компоновки, задающих дополнительные свойства раскладки. Любые переданные здесь значения переопределяют настройки, заданные style.Дополнительные ресурсы: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight. |
Возвращаемое значение
Цвет Цвет выбран пользователем.
Описание
Сделайте поле для выбора Color.
Изменить цвет выбранного GameObjects.
using UnityEngine; using UnityEditor;
// Change the color of the selected GameObjects.
public class ExampleClass : EditorWindow { Color matColor = Color.white;
[MenuItem("Examples/Mass Color Change")] static void Init() { EditorWindow window = GetWindow(typeof(ExampleClass)); window.Show(); }
void OnGUI() { matColor = EditorGUILayout.ColorField("New Color", matColor);
if (GUILayout.Button("Change!")) ChangeColors(); }
private void ChangeColors() { if (Selection.activeGameObject) foreach (GameObject t in Selection.gameObjects) { Renderer rend = t.GetComponent<Renderer>();
if (rend != null) rend.sharedMaterial.color = matColor; } } }