Объявление
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); Устаревший Используйте EditorGUI.ColorField(Rect position, GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr).
public static Color ColorField(Rect position, GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr, ColorPickerHDRConfig hdrConfig);
Параметры
position | Прямоугольник на экране использовать для поля. |
label | Необязательная метка для отображения перед полем. |
value | Цвет для редактирования. |
showEyedropper | Если это правда, палитра цветов должна отображать элемент управления пипеткой. Если ложь, не показывать это. |
showAlpha | Если true, разрешить пользователю устанавливать альфа-значение для цвета. Если false, скройте альфа-компонент. |
hdr | Если это правда, обработайте цвет как значение 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();
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;
}
}
}
}
}