Version: 2023.2
public static void Box (Rect position, string text);
public static void Box (Rect position, Texture image);
public static void Box (Rect position, GUIContent content);
public static void Box (Rect position, string text, GUIStyle style);
public static void Box (Rect position, Texture image, GUIStyle style);
public static void Box (Rect position, GUIContent content, GUIStyle style);

参数

position 屏幕上用于框的矩形。
text 要在框上显示的文本。
image 要在框上显示的 Texture
content 该框的文本、图像和工具提示。
style 要使用的样式。如果省略,则使用当前 GUISkinbox 样式。

描述

在 GUI 层上创建一个框。

通过使用 GUIContent 参数, 框可以包含文本和/或图像,以及可选的工具提示。您也可以使用 GUIStyle 调整框中项目的布局、文本颜色和其他属性。\ \ 下面是一个包含文本的框的示例:

using UnityEngine;

public class BoxExample : MonoBehaviour { void OnGUI() { GUI.Box(new Rect(0, 0, Screen.width, Screen.height), "This is a box"); } }

下面是一个包含纹理的框的示例:

using UnityEngine;

public class BoxWithTextureExample : MonoBehaviour { public Texture BoxTexture; // Drag a Texture onto this item in the Inspector

void OnGUI() { GUI.Box(new Rect(0, 0, Screen.width, Screen.height), BoxTexture); } }

下面是一个包含 GUIContent 的框的示例,它组合了文本、纹理和工具提示:

using UnityEngine;

public class BoxWithContentExample : MonoBehaviour { public Texture BoxTexture; // Drag a Texture onto this item in the Inspector

GUIContent content;

void Start() { content = new GUIContent("This is a box", BoxTexture, "This is a tooltip"); }

void OnGUI() { GUI.Box(new Rect(0, 0, Screen.width, Screen.height), content); } }

下面是一个包含文本的框的示例,该示例在 GUIStyle 中设置了相应的选项来将文本放置在框的中心位置。

using UnityEngine;

public class BoxWithTextStyleExample : MonoBehaviour { GUIStyle style = new GUIStyle();

void Start() { // Position the Text in the center of the Box style.alignment = TextAnchor.MiddleCenter; }

void OnGUI() { GUI.Box(new Rect(0, 0, Screen.width, Screen.height), "This is a box", style); } }

下面是一个包含纹理的框的示例,该示例在 GUIStyle 中设置了相应的选项来将纹理放置在框的中心位置。

using UnityEngine;

public class BoxWithTextureStyleExample : MonoBehaviour { public Texture BoxTexture; // Drag a Texture onto this item in the Inspector

GUIStyle style = new GUIStyle();

void Start() { // Position the Texture in the center of the Box style.alignment = TextAnchor.MiddleCenter; }

void OnGUI() { GUI.Box(new Rect(0, 0, Screen.width, Screen.height), BoxTexture, style); } }

最后是一个包含 GUIContent 的框的示例,它组合了文本、纹理和工具提示,并在 GUIStyle 参数中包含了位置信息:

using UnityEngine;

public class BoxWithContentStyleExample : MonoBehaviour { public Texture BoxTexture; // Drag a Texture onto this item in the Inspector

GUIContent content; GUIStyle style = new GUIStyle();

void Start() { content = new GUIContent("This is a box", BoxTexture, "This is a tooltip");

// Position the Text and Texture in the center of the box style.alignment = TextAnchor.MiddleCenter;

// Position the Text below the Texture (rather than to the right of it) style.imagePosition = ImagePosition.ImageAbove; }

void OnGUI() { GUI.Box(new Rect(0, 0, Screen.width, Screen.height), content, style); } }