position | 屏幕上用于框的矩形。 |
text | 要在框上显示的文本。 |
image | 要在框上显示的 Texture。 |
content | 该框的文本、图像和工具提示。 |
style | 要使用的样式。如果省略,则使用当前 GUISkin 的 box 样式。 |
在 GUI 层上创建一个框。
A Box can contain text, an image, or a combination of these along
with an optional tooltip, through using a GUIContent parameter. You may also use
a GUIStyle to adjust the layout of items in a box, text colour and other properties.
Here is an example of a Box containing Text:
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);
}
}