position | The part of the window that can be dragged. This is clipped to the actual window. |
Make a window draggable.
var windowRect : Rect = Rect (20, 20, 120, 50); function OnGUI () { // Register the window. windowRect = GUI.Window (0, windowRect, DoMyWindow, "My Window"); } // Make the contents of the window function DoMyWindow (windowID : int) { // 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 (Rect (0,0, 10000, 20)); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Rect windowRect = new Rect(20, 20, 120, 50); void OnGUI() { windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window"); } void DoMyWindow(int windowID) { GUI.DragWindow(new Rect(0, 0, 10000, 20)); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public windowRect as Rect = Rect(20, 20, 120, 50) def OnGUI() as void: windowRect = GUI.Window(0, windowRect, DoMyWindow, 'My Window') def DoMyWindow(windowID as int) as void: GUI.DragWindow(Rect(0, 0, 10000, 20))
If you want to have the entire window background to act as a drag area, use the version of DragWindow that takes no parameters and put it at the end of the window function.
var windowRect : Rect = Rect (20, 20, 120, 50); function OnGUI () { windowRect = GUI.Window (0, windowRect, DoMyWindow, "My Window"); } // Make the contents of the window function DoMyWindow (windowID : int) { GUI.Button (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 (); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Rect windowRect = new Rect(20, 20, 120, 50); void OnGUI() { windowRect = GUI.Window(0, windowRect, DoMyWindow, "My Window"); } void DoMyWindow(int windowID) { GUI.Button(new Rect(10, 20, 100, 20), "Can't drag me"); GUI.DragWindow(); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public windowRect as Rect = Rect(20, 20, 120, 50) def OnGUI() as void: windowRect = GUI.Window(0, windowRect, DoMyWindow, 'My Window') def DoMyWindow(windowID as int) as void: GUI.Button(Rect(10, 20, 100, 20), 'Can\'t drag me') GUI.DragWindow()