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

【第一章编辑器开发基础第二节编辑器布局_1水平与垂直布局(1/4)】

基本布局系统(水平与垂直布局)
​​用途​​:控制UI元素排列
​​核心类​​:GUILayout
​​调用位置​​:OnInspectorGUI()
​​布局容器​​:

GUILayout.BeginHorizontal(); // 开始水平布局
GUILayout.BeginVertical();   // 开始垂直布局
// ... UI元素 ...
GUILayout.EndHorizontal();   // 必须成对结束
GUILayout.EndVertical();
​​经典嵌套布局​​:GUILayout.BeginHorizontal();GUILayout.BeginVertical();
GUILayout.Button("左列按钮1");
GUILayout.Button("左列按钮2");
GUILayout.EndVertical();GUILayout.BeginVertical();
GUILayout.Button("右列按钮1");
GUILayout.Button("右列按钮2");
GUILayout.EndVertical();GUILayout.EndHorizontal();

​​黄金法则​​:

Begin/End必须严格配对
嵌套不得超过8层(Unity限制)
垂直和水平布局可自由组合

示例代码和效果图

using UnityEngine;
using UnityEditor;/// <summary>
/// 创建自定义编辑器,作用于Example组件
/// </summary>
[CustomEditor(typeof(Example))]
public class ExampleEditor : Editor
{// ================= 核心方法 - 绘制编辑器界面 =================public override void OnInspectorGUI(){// 1. 先绘制默认Inspector内容base.OnInspectorGUI();// 2. 依次绘制各种自定义控件Layout();      // 基本布局示例}// ================= 8. 基本布局示例 =================private void Layout(){// 主水平布局GUILayout.BeginHorizontal();// 左侧垂直布局GUILayout.BeginVertical();GUILayout.Button("btn1");GUILayout.Button("btn2");GUILayout.EndVertical();// 右侧垂直布局GUILayout.BeginVertical();GUILayout.Button("btn3");GUILayout.Button("btn4");GUILayout.EndVertical();GUILayout.EndHorizontal(); // 结束主水平布局}}

在这里插入图片描述

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

相关文章:

  • 计算两个经纬度之间的距离(JavaScript 实现)
  • 当 `conda list` 里出现两个 pip:一步步拆解并卸载冲突包
  • 详解BIO,NIO,AIO
  • Python Web框架对比:Flask vs FastAPI
  • Python数据容器-字典dict
  • 丑团-h5-Mtgsig算法-分析
  • Linux基础开发工具(3)
  • ACL流量控制实验
  • 车载诊断框架 --- 车载诊断GuideLine
  • 信息收集的骚打法
  • 安装llama-factory报错 error: subprocess-exited-with-error
  • SQL创建三个表
  • 国产LVDT信号调理芯片XJD698对比AD698的技术突破与优势解析
  • 代码随想录算法训练营第三十五天|416. 分割等和子集
  • CLIP、Open CLIP、SigLip、SigLip2的相关总结
  • 内网环境自签名超长期HTTPS证书,并在Chrome中显示为安全证书
  • Faiss能解决什么问题?Faiss是什么?
  • 【数据结构初阶】--单链表(二)
  • Kafka Broker源码解析(上篇):存储引擎与网络层设计
  • 【html基本界面】
  • [spring6: ResolvableType TypeDescriptor ConversionService]-类型系统
  • [笔记] 动态 SQL 查询技术解析:构建灵活高效的企业级数据访问层
  • 电力协议处理框架C++版(三)
  • 打破空间边界!Nas-Cab用模块化设计重构个人存储逻辑
  • SwiftUI 全面介绍与使用指南
  • AI数字人正成为医药行业“全场景智能角色”,魔珐科技出席第24届全国医药工业信息年会
  • 【微信小程序】
  • 1.2.2 高级特性详解——AI教你学Django
  • vue3 服务端渲染时请求接口没有等到数据,但是客户端渲染是请求接口又可以得到数据
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘sqlite3’问题