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

基本布局系统(水平与垂直布局)

​​用途​​:控制UI元素排列

​​核心类​​:GUILayout

​​调用位置​​:OnInspectorGUI()

​​布局容器​​:

csharp 复制代码
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限制)

垂直和水平布局可自由组合

示例代码和效果图

csharp 复制代码
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(); // 结束主水平布局
    }


}
相关推荐
golang学习记8 小时前
VS Code Agents 新快捷键:一键穿梭主编辑器与Agent窗口
vscode·编辑器
FriendshipT10 小时前
Vim 完整指南:从入门到高效编辑
linux·人工智能·编辑器·vim·1024程序员节
.道阻且长.11 小时前
Linux 基本开发工具:编辑器vim,配置vim
linux·运维·服务器·职场和发展·编辑器·vim·1024程序员节
Rabitebla1 天前
【Linux底层原理】 工具篇(二):Vim 编辑器基础操作与简单配置
linux·c++·编辑器·vim
白鹭鸣鸣!2 天前
WSL2 + OpenCode 完整搭建全流程(含迁移 WSL 到 D 盘)
编辑器
骑着蜗牛撵大象3272 天前
四种库收进一个SQL编辑器(下):跨库取数、方言对齐与四库巡检的落地拆解
jvm·数据库·sql·编辑器·数据迁移·跨库查询
学习论之费曼学习法2 天前
无人值守AI内容矩阵实战(7):Playwright 发布器避坑——编辑器竞态、索引延迟与风控
python·线性代数·矩阵·编辑器·浏览器自动化·playwright·踩坑记录
心态还需努力呀2 天前
把 Zettlr 搬上鸿蒙 PC:墨匣学术写作编辑器移植与上架全记录
华为·编辑器·harmonyos
努力学习的小廉2 天前
UE5 入门系列(二):编辑器基础操作速通
ue5·编辑器
Highcharts.js3 天前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts