Параметры
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));
}
}
Объявление
public static void DragWindow();Описание
Если вы хотите, чтобы весь фон окна действовал как область перетаскивания, используйте версию 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));
}
}