当前位置: 首页 > news >正文

【第一章编辑器开发基础第一节绘制编辑器元素_7折叠面板控件(7/7)】

折叠面板控件
​​用途​​:组织/隐藏复杂UI区块
​​所属类​​:EditorGUILayout
​​调用位置​​:OnInspectorGUI()
​​标准实现​​:

foldout = EditorGUILayout.Foldout(foldout, "面板标题", true);if(foldout) {// 展开状态下的内容GUILayout.Button("子控件");
}

​​使用技巧​​:

第三个参数控制是否有展开动画
面板内可嵌套任意UI元素
状态管理需开发者自行维护
特别适合组织同类配置项
​​记忆口诀​​:
“折叠面板三件套:状态变量、Foldout调用、if包裹内容”

示例代码和效果图

using UnityEngine;
using UnityEditor;/// <summary>
/// 创建自定义编辑器,作用于Example组件
/// </summary>
[CustomEditor(typeof(Example))]
public class ExampleEditor : Editor
{private bool foldout1; // 折叠面板1的状态private bool foldout2; // 折叠面板2的状态// ================= 核心方法 - 绘制编辑器界面 =================public override void OnInspectorGUI(){// 1. 先绘制默认Inspector内容base.OnInspectorGUI();// 2. 依次绘制各种自定义控件Foldout();     // 折叠面板}// ================= 7. 折叠面板控件 =================private void Foldout(){// 折叠面板1(带展开/收起动画)foldout1 = EditorGUILayout.Foldout(foldout1, "Foldout1", true);if (foldout1) // 展开状态时显示内容{GUILayout.Label("Hello world", EditorStyles.miniBoldLabel);GUILayout.Label("Hello world", EditorStyles.boldLabel);GUILayout.Label("Hello world", EditorStyles.largeLabel);}// 折叠面板2foldout2 = EditorGUILayout.Foldout(foldout2, "Foldout2", true);if (foldout2) // 展开状态时显示内容{GUILayout.Button("btn1");GUILayout.Button("btn2");GUILayout.Button("btn3");}}}

在这里插入图片描述

http://www.lryc.cn/news/587661.html

相关文章:

  • python学智能算法(十八)|SVM基础概念-向量点积
  • 【第一章编辑器开发基础第二节编辑器布局_3GUI元素和布局大小(3/4)】
  • python学智能算法(十七)|SVM基础概念-向量的值和方向
  • CISSP通过回顾
  • Unity中HumanBodyBones骨骼对照
  • [Nagios Core] 通知系统 | 事件代理 | NEB模块,事件,回调
  • 上下文管理器 和 contextlib 模块
  • Cocos Creator 高斯模糊效果实现解析
  • 2025高防CDN硬核防御指南:AI+量子加密如何终结DDoS/CC攻击?
  • VyOS起步指南:用Docker快速搭建网络实验环境
  • MCP终极篇!MCP Web Chat项目实战分享
  • android tabLayout 切换fragment fragment生命周期
  • VScode设计平台demo&前端开发中的常见问题
  • CentOS系统哪些版本?分别适用于那些业务或网站类型?
  • VMware 虚拟机装 Linux Centos 7.9 保姆级教程(附资源包)
  • 【LeetCode】大厂面试算法真题回忆(107)--重组字符串
  • CentOS 7服务器上使用Docker部署Notesnook的详细指导说明
  • CentOS 安装jenkins笔记
  • LVS的集群技术和分布式
  • RabbitMQ中队列长度限制(Queue Length Limit)详解
  • Docker Desktop 挂载本地Win系统配置指南:Redis/MySQL/RabbitMQ持久化与自启设置
  • 【第一章编辑器开发基础第二节编辑器布局_3间距控制(4/4)】
  • RabbitMQ的介绍与安装
  • RabbitMQ的几个模式
  • Redis单线程详解
  • Advanced Database Systems: History of Databases
  • 代数基本定理最简短的证明
  • C++ 中常见的字符串定义方式及其用法
  • 正运动与您相聚2025青岛国际工业自动化技术及装备展览会!
  • 前端字体使用操作