Version: 2017.3
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, ColorPickerHDRConfig hdrConfig, params GUILayoutOption[] options);

参数

label (可选)显示在字段前的标签。
value 要编辑的颜色。
showEyedropper 如果为 true,拾色器应显示吸管控件。如果为 false,则不显示吸管控件。
showAlpha 如果为 true,则允许用户为颜色设置 Alpha 值。如果为 false,则隐藏 Alpha 分量。
hdr 如果为 true,则将颜色视为 HDR 值。如果为 false,则将其视为标准 LDR 值。
hdrConfig An object that sets the presentation parameters for an HDR color. If not using an HDR color, set this to null.
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; } } }