EditorGUILayout.Vector3Field 三维向量字段

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

Parameters参数

Returns

Vector3 - The value entered by the user.

返回Vector3,由用户输入的值。

Description描述

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

制作X , Y & Z字段用于输入Vector3。

EditorGUILayout.Vector3Field 三维向量字段

Measure the distance between 2 GameObjects or 2 positions in 3D space.
测量在3D空间两物体或两点之间的距离。

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



	@MenuItem("Examples/Measure Distance between 2 objects")

	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