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