自定义Unity窗口
using UnityEditor;
public class MyWindow : EditorWindow {

	[MenuItem("Item/MyWindow")]
	static void ShowMyWindow(){
		MyWindow window =  EditorWindow.GetWindow<MyWindow> ();
		window.Show ();//获得实例,显示窗口
	}

	string inputStr = "";
	void OnGUI(){//绘制窗口内容
		EditorGUILayout.LabelField ("实例化输入名字的物体");
		inputStr =  EditorGUILayout.TextField (inputStr);
		if (GUILayout.Button ("确定")) {
			GameObject go = new GameObject (inputStr);
			Undo.RegisterCreatedObjectUndo (go,"create"+inputStr);
		}
	}
}


创建类继承自EditorWindow,存放在Editor文件夹下,表示是一个窗口类

这里创建了一个菜单来打开这个窗口

OnGUI是窗口内容的绘制,可以用EdittorGUILayoutGUILayout等类来绘制ui内容

UndoRegisterCreateObjectUndo用来记录新创建的物体,用于后面可以撤销新创建的


首页 我的博客
粤ICP备17103704号