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