Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

EditorWindow.OnInspectorUpdate()

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える

説明

OnInspectorUpdate は更新する機会をインスペクターに与え、秒当たり 10 回呼ばれます


"選択したオブジェクトの位置を揃えます。"

	// Simple script that aligns the position of several selected GameObjects
	// with the first selected one.
	
	class AlignPosition extends EditorWindow {
		var alignToX = true;var alignToY = true; var alignToZ = true;
		var selected = "";
		var alignTo = "";
	
		@MenuItem("Example/Align position")
		static function Init() {		
			var window = GetWindow(AlignPosition);
			window.Show();
		}
		function OnInspectorUpdate() {
			// Call Repaint on OnInspectorUpdate as it repaints the windows
			// less times as if it was OnGUI/Update
			Repaint();
		}	
		function OnGUI() {
			GUILayout.Label("Select various Objects in the Hierarchy view");
			selected = Selection.activeTransform ? Selection.activeTransform.name : "";
			for(var t : Transform in Selection.transforms)
				if(t.GetInstanceID() != Selection.activeTransform.GetInstanceID())
					alignTo += t.name + " ";	
			EditorGUILayout.LabelField("Align: ", alignTo);
			alignTo = "";
			EditorGUILayout.LabelField("With: ", selected);
			
			alignToX = EditorGUILayout.Toggle("X", alignToX);
			alignToY = EditorGUILayout.Toggle("Y", alignToY);
			alignToZ = EditorGUILayout.Toggle("Z", alignToZ);
			if(GUILayout.Button("Align"))
				Align();
		}
		function Align() {
			if(selected == "" || alignTo == "")
				Debug.LogError("No objects selected to align");
			for(var t : Transform in Selection.transforms) {
				var alignementPosition = Selection.activeTransform.position;
				var newPosition : Vector3;
				newPosition.x = alignToX ? alignementPosition.x : t.position.x;
				newPosition.y = alignToY ? alignementPosition.y : t.position.y;
				newPosition.z = alignToZ ? alignementPosition.z : t.position.z;
				t.position = newPosition;	
			}
		}
	}