EditorGUILayout.Vector3Field 三维向量字段

static function Vector3Field (label : string, value : Vector3, params options : GUILayoutOption[]) : Vector3

Parameters参数

Returns

Vector3 - The value entered by the user.

Description描述

Make an X, Y & Z field for entering a Vector3.

Measure the distance between 2 GameObjects or 2 positions in 3D space.

``````// Simple Script that measures the distance between 2 GameObjects
// or measure the distance between 2 positions in 3D space
//测量在3D空间两物体或两点之间的距离。
class EditorGUILayoutVector3Field extends EditorWindow {

var distance : float = 0;
var obj1 : Vector3;
var obj2 : Vector3;

static function Init() {
var window = GetWindow(EditorGUILayoutVector3Field);
window.Show();
}
function OnGUI() {
GUILayout.Label("Select an object in the Hierarchy view and click 'Capture Position'");
EditorGUILayout.BeginHorizontal();
obj1 = EditorGUILayout.Vector3Field("GameObject 1:", obj1);
if(GUILayout.Button("Capture Position"))
obj1 = Selection.activeTransform.position;
EditorGUILayout.EndHorizontal();

EditorGUILayout.BeginHorizontal();
obj2 = EditorGUILayout.Vector3Field("GameObject 2:", obj2);
if(GUILayout.Button("Capture Position"))
obj2 = Selection.activeTransform.position;
EditorGUILayout.EndHorizontal();
EditorGUILayout.LabelField("Distance:", distance.ToString());
if(GUILayout.Button("Close"))
this.Close();
}
function OnInspectorUpdate() {
distance = Vector3.Distance(obj1,obj2);
this.Repaint();
}
}``````
Page last updated: 2011-7-14