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