当前位置:   article > 正文

八、Unity编辑器开发之GUILayout布局

guilayout

1.水平布局

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

  1. GUILayout.BeginHorizontal();
  2. // GUI Element1st
  3. // GUI Element2nd
  4. // GUI Element3rd
  5. GUILayout.EndHorizontal();

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

2.垂直布局

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

  1. GUILayout.BeginVertical();
  2. // GUI Element1st
  3. // GUI Element2nd
  4. // GUI Element3rd
  5. GUILayout.EndVertical();

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

3.复合布局

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

  1. GUILayout.BeginHorizontal();
  2. GUILayout.BeginVertical();
  3. GUILayout.Button("Element1");
  4. GUILayout.Button("Element2");
  5. GUILayout.EndVertical();
  6. GUILayout.BeginVertical();
  7. GUILayout.Button("Element3");
  8. GUILayout.Button("Element4");
  9. GUILayout.EndVertical();
  10. GUILayout.EndHorizontal();

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

4.滑动列表

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

  1. scroll = GUILayout.BeginScrollView(scroll);
  2. //Element1
  3. //Element2
  4. //...
  5. //...
  6. //Element...
  7. GUILayout.EndScrollView();

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/122452
推荐阅读
相关标签
  

闽ICP备14008679号