Version: 2022.3
public static Vector2 Vector2Field (string label, Vector2 value, params GUILayoutOption[] options);
public static Vector2 Vector2Field (GUIContent label, Vector2 value, params GUILayoutOption[] options);

参数

label 显示在字段上方的标签。
value 要编辑的值。
options 一个可选的布局选项列表,用于指定额外的布局属性。此处传递的任何值都将覆盖 style 定义的设置。

返回

Vector2 用户输入的值。

描述

创建用于输入 Vector2 的 X 和 Y 字段。


测量 2 个点之间的距离。

using UnityEditor;
using UnityEngine;

public class EditorGUILayoutVector2Field : UnityEditor.EditorWindow { float distance = 0f; Vector3 p1; Vector3 p2;

[MenuItem("Examples/Measure Distance")] static void Init() { EditorGUILayoutVector2Field window = (EditorGUILayoutVector2Field)EditorWindow.GetWindow(typeof(EditorGUILayoutVector2Field), true, "My Empty Window"); window.Show(); }

void OnGUI() { p1 = EditorGUILayout.Vector2Field("Point 1:", p1); p2 = EditorGUILayout.Vector2Field("Point 2:", p2); EditorGUILayout.LabelField("Distance:", distance.ToString()); if (GUILayout.Button("Close")) this.Close(); }

void OnInspectorUpdate() { distance = Vector2.Distance(p1, p2); this.Repaint(); } }