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

EditorGUILayout.Vector2Field

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

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 用户输入的值。

说明

制作一个 X 和 Y 字段来输入 Vector2


测量两点之间的距离。

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