EditorWindow.BeginWindows 开始窗口

function BeginWindows () : void

Description描述

Mark the beginning area of all popup windows.

标记所有弹出窗口的开始区域。

GUI.Window behaves somewhat differently in the editor than inside your games. In games, GUI.Window pops up a window on your screen. In the editor, GUI.Window shows a subwindow inside one of your editor windows. Begin/EndWindows is used to determine where these can go. You need to have all calls to GUI.Window or GUILayout.Window inside a BeginWindows / EndWindows pair. Like this:

GUI.Window的行为在编辑器中比在游戏中有所不同。在游戏中,GUI.Window在屏幕上弹出一个窗口;在编辑器中,GUI.Window在编辑器窗口中显示一个子窗口。Begin/EndWindows用于定义窗口。你需要让所有调用的GUI.WindowGUILayout.WindowBeginWindows / EndWindows对内。

Simple editor Window with a window and a button inside.

带有一个窗口和一个按钮的简单编辑器窗口。

class GUIWindowDemo extends EditorWindow {

	// The position of the window

	//窗口的位置

	var windowRect = Rect (100,100,200,200);



	// Main GUI Function //主GUI函数

	function OnGUI () {

		// Begin Window

		BeginWindows ();



		// All GUI.Window or GUILayout.Window must come inside here

		//所有GUI.Window 或 GUILayout.Window 必须在这里面

		windowRect = GUILayout.Window (1, windowRect, DoWindow, "Hi There");



		// Collect all the windows between the two.

		//在这两者之间搜集所有窗口

		EndWindows ();

	}



	// The window function. This works just like ingame GUI.Window

	//窗口函数,这就像游戏内的GUI.Window

	function DoWindow () {

		GUILayout.Button ("Hi");

		GUI.DragWindow ();

	}



	// Add menu item to show this demo.

	//添加菜单项来显示这个演示

	@MenuItem ("Test/GUIWindow Demo")

	static function Init () {

		EditorWindow.GetWindow (GUIWindowDemo);

	}

}

The placement of the BeginWindows / EndWindows pair determines where popup windows will appear; all windows are clipped to the clipping area defined by GUI.BeginGroup or GUI.BeginScrollview. A small example of that

BeginWindows / EndWindows对的放置决定弹出窗口的显示。所有窗口都放到GUI.BeginGroupGUI.BeginScrollview中定义。一个简单的例子:

EditorWindow.BeginWindows 开始窗口

Simple editor window with a window and a button inside using scroll bars.

带有一个窗口和一个按钮,使用滚动条的简单编辑器窗口。

class GUIWindowDemo2 extends EditorWindow {

	// The position of the window

	//窗口的位置

	var windowRect = Rect (100,100,200,200);



	// Scroll position 滚动位置

	var scrollPos = Vector2.zero;



	function OnGUI () {

		// Set up a scroll view 设置滚动视图

		scrollPos = GUI.BeginScrollView (

			new Rect (0, 0, position.width, position.height),

			scrollPos,

			new Rect (0, 0, 1000, 1000)

		);



		// Same code as before - make a window. Only now, it's INSIDE the scrollview

		//创建一个窗口,仅限在,在滚动视图中

		BeginWindows ();

		windowRect = GUILayout.Window (1, windowRect, DoWindow, "Hi There");

		EndWindows ();



		// Close the scroll view 关闭滚动视图

		GUI.EndScrollView ();

	}



	function DoWindow () {

		GUILayout.Button ("Hi");

		GUI.DragWindow ();

	}



	@MenuItem ("Test/GUIWindow Demo 2")

	static function Init () {

		EditorWindow.GetWindow (GUIWindowDemo2);

	}

}
Page last updated: 2011-5-29