版本:Unity 6 (6000.0)
语言English
  • C#

GUI.DragWindow

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static void DragWindow(Rect position);

参数

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 版本,并将其放在窗口函数的末尾。

这意味着任何其他控件都将获得优先级,并且只有在没有其他控件获得鼠标焦点时才会激活拖动。其他资源:DragWindowBringWindowToFrontBringWindowToBack

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)); } }