Version: 2023.2
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);

参数

label (可选)显示在字段前的标签。
value 要编辑的颜色。
showEyedropper 如果为 true,拾色器应显示吸管控件。如果为 false,则不显示吸管控件。
showAlpha 如果为 true,则允许用户为颜色设置 Alpha 值。如果为 false,则隐藏 Alpha 分量。
hdr 如果为 true,则将颜色视为 HDR 值。如果为 false,则将其视为标准 LDR 值。
options 一个可选的布局选项列表,用于指定额外的布局属性。此处传递的任何值都将覆盖 style 定义的设置。
另请参阅:GUILayout.WidthGUILayout.HeightGUILayout.MinWidthGUILayout.MaxWidthGUILayout.MinHeightGUILayout.MaxHeightGUILayout.ExpandWidthGUILayout.ExpandHeight

返回

Color 用户选择的颜色。

描述

创建一个用于选择 Color 的字段。


更改所选游戏对象的颜色。

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; } } }