position | 窗口中可以拖动的部分。这将被裁剪到实际的窗口。 |
使窗口可被拖动。
在窗口代码中插入对该函数的调用,以使窗口可被拖动。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Rect windowRect = new Rect(20, 20, 120, 50);
void OnGUI() { // Register the window. windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window"); }
// Make the contents of the window void DoMyWindow(int windowID) { // Make a very long rect that is 20 pixels tall. // This will make the window be resizable by the top // title bar - no matter how wide it gets. GUI.DragWindow(new Rect(0, 0, 10000, 20)); } }
若要将整个窗口背景用作拖动区域,请使用不带参数的 DragWindow 版本并将其放到窗口函数的末尾。
这意味着任何其他控件都将获得优先权,仅在没有任何控件获得鼠标焦点时才激活拖动操作。 另请参阅:DragWindow、BringWindowToFront、BringWindowToBack。
using UnityEngine;
public class ExampleClass : MonoBehaviour { public Rect windowRect = new Rect(20, 20, 120, 50);
void OnGUI() { windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window"); }
// Make the contents of the window void DoMyWindow(int windowID) { GUI.Button(new Rect(10, 20, 100, 20), "Can't drag me"); // Insert a huge dragging area at the end. // This gets clipped to the window (like all other controls) so you can never // drag the window from outside it. GUI.DragWindow(new Rect(0, 0, 10000, 20)); } }