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

参数

position 屏幕上用于字段的矩形。
label (可选)显示在字段前的标签。
value 要编辑的颜色。
showEyedropper 如果为 true,拾色器应显示吸管控件。如果为 false,则不显示吸管控件。
showAlpha 如果为 true,则允许用户为颜色设置 Alpha 值。如果为 false,则隐藏 Alpha 分量。
hdr 如果为 true,则将颜色视为 HDR 值。如果为 false,则将其视为标准 LDR 值。

返回

Color 用户选择的颜色。

描述

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


编辑器窗口中的 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; } } } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961