版本:Unity 6 (6000.0)
语言English
  • C#

EditorGUI.ColorField

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提出的每个建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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 如果为真,则允许用户为颜色设置 alpha 值。如果为假,则隐藏 alpha 分量。
hdr 如果为真,则将颜色视为 HDR 值。如果为假,则将其视为标准 LDR 值。

返回值

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