前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >八、编辑器开发之GUILayout布局

八、编辑器开发之GUILayout布局

作者头像
CoderZ
发布2022-08-29 15:37:59
发布2022-08-29 15:37:59
60900
代码可运行
举报
运行总次数:0
代码可运行

1.水平布局

在编辑器的开发中,如果我们想将一些GUI元素绘制在一个水平方向上,需要用到GUILayout中的一对方法:

代码语言:javascript
代码运行次数:0
运行
复制
GUILayout.BeginHorizontal();
// GUI Element1st
// GUI Element2nd
// GUI Element3rd
GUILayout.EndHorizontal();

这两个方法一定是成对出现的,有了上述布局后,我们绘制的内容类似于下图:

2.垂直布局

如果我们想将这些元素绘制在一个垂直方向上,则需要用到GUILayout中的另一对方法:

代码语言:javascript
代码运行次数:0
运行
复制
GUILayout.BeginVertical();
// GUI Element1st
// GUI Element2nd
// GUI Element3rd
GUILayout.EndVertical();

那么绘制的内容类似于下图:

3.复合布局

例如,我们想在水平布局中嵌套垂直布局

代码语言:javascript
代码运行次数:0
运行
复制
GUILayout.BeginHorizontal();

GUILayout.BeginVertical();
GUILayout.Button("Element1");
GUILayout.Button("Element2");
GUILayout.EndVertical();

GUILayout.BeginVertical();
GUILayout.Button("Element3");
GUILayout.Button("Element4");
GUILayout.EndVertical();

GUILayout.EndHorizontal();

上例中,我们在一个水平布局中嵌套了两个垂直布局,每个垂直布局中垂直绘制了两个Button按钮,最终如下图所示:

4.滑动列表

如果我们要绘制大量的可能会超出范围的元素,需要用到滑动列表

代码语言:javascript
代码运行次数:0
运行
复制
scroll = GUILayout.BeginScrollView(scroll);
//Element1
//Element2
//...
//...
//Element...
GUILayout.EndScrollView();

使用滑动列表时需要传入一个Vector2类型变量同时进行接收,用来获取滑动列表滑动的位置。

除了GUILayout类,EditorGUILayout类中包含同样的上述的布局方法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 当代野生程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档