position | 屏幕上用于该字段的矩形。 |
label | 可选标签,显示在字段上方。 |
value | 要编辑的值。 |
Rect 用户输入的值。
创建用于输入 Rect 的 X、Y、W 和 H 字段。
编辑器窗口中的矩形字段。
using UnityEngine; using UnityEditor;
// Find all the cameras in the Scene and shows all their viewports togheter
class EditorGUIRectField : EditorWindow { Camera[] cameras;
[MenuItem("Examples/Editor GUI RectField usage")] static void Init() { var window = GetWindow<EditorGUIRectField>(); window.position = new Rect(0, 0, 150, 120); window.Show(); }
void OnGUI() { if (GUI.Button(new Rect(3, 3, position.width - 6, 20), "Update list")) cameras = FindObjectsOfType<Camera>();
if (cameras.Length > 0) { for (var i = 0; i < cameras.Length; i++) { cameras[i].rect = EditorGUI.RectField( new Rect(3, 25 + 45 * i, position.width - 6, 25), cameras[i].name, cameras[i].rect); } } } }
使用 SerializedProperty 创建 Rect 的 X、Y、W 和 H(不公开)。