1.GUIContent简介
1.GUIContent简介
csharp
GUIContent是Unity引擎专门用于封装"GUI控件显示内容的核心类", 它就像一个"内容打包器", 能把文本, 图标(纹理), 鼠标
悬停提示这三类信息整合在一起

csharp
using UnityEngine;
public class GUIContentDemo : MonoBehaviour
{
// 可在Inspector面板中赋值的图标纹理
public Texture2D btnIcon;
void OnGUI()
{
// 1. 仅包含文本的GUIContent(最基础用法)
GUIContent textOnlyContent = new GUIContent("普通按钮");
if (GUI.Button(new Rect(20, 20, 120, 40), textOnlyContent))
{
Debug.Log("点击了仅文本的按钮");
}
// 2. 包含文本+图标+提示的GUIContent(完整用法)
GUIContent fullContent = new GUIContent(
"设置按钮", // text:按钮文字
btnIcon, // image:按钮图标
"点击打开设置面板" // tooltip:悬停提示
);
if (GUI.Button(new Rect(20, 70, 120, 40), fullContent))
{
Debug.Log("点击了带图标和提示的按钮");
}
// 3. 动态修改GUIContent的属性
GUIContent dynamicContent = new GUIContent();
dynamicContent.text = "动态文本标签";
dynamicContent.tooltip = "这是动态设置的提示";
GUI.Label(new Rect(20, 120, 120, 40), dynamicContent);
}
}