01. GUIContent

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);
    }
}
相关推荐
云上空13 小时前
腾讯云使用对象存储托管并分享WebGL小游戏(unity3d)(需要域名)
unity·腾讯云·webgl·游戏开发·对象存储·网页托管
小贺儿开发15 小时前
Unity3D VR党史主题展馆
unity·人机交互·vr·urp·展馆·党史
TopGames15 小时前
Unity实现10万人同屏动态避障和导航寻路系统 支持3D地形
unity·性能优化·游戏引擎
托洛夫斯基扎沙耶19 小时前
Unity中状态机与行为树的简单实现
unity·游戏引擎
TrudgeCarrot1 天前
unity打包使用SPB管线出现 DontSava错误解决
unity·游戏引擎·dontsave
3D霸霸1 天前
unity 创建URP新场景
unity·游戏引擎
玉梅小洋2 天前
Unity 2D游戏开发 Ruby‘s Adventure 1:课程介绍和资源导入
游戏·unity·游戏引擎·游戏程序·ruby
托洛夫斯基扎沙耶2 天前
Unity可视化工具链基础
unity·编辑器·游戏引擎
浅陌sss2 天前
检查Unity对象要始终使用 != null而不是?.
unity