GUI.DragWindow
Declaration
public static void DragWindow(Rect 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)); } }
Declaration
public static void DragWindow();Описание
Если вы хотите, чтобы весь фон окна действовал как область перетаскивания, используйте версию DragWindow, которая не принимает никаких параметров, и поместите ее в конце функции window.
Это означает, что любые другие элементы управления будут иметь приоритет, и перетаскивание будет активировано только в том случае, если ничто другое не имеет фокуса мыши. 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)); } }