UG1L7——滚动视图和分组
本章代码关键字
1 2 3 4
| GUI.BeginGroup() GUI.EndGroup() GUI.BeginScrollView() GUI.EndScrollView()
|
分组
用于批量控制控件的位置,可以理解为包裹着的控件加了一个父对象
可以通过控制分组来批量控制被包裹控件的位置
根据分组传入的位置和尺寸,决定了接下来的UI控件绘制是在相对于哪个位置绘制,以及UI控件的显示的范围
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public Rect groupPos;
private void OnGUI() { #region 分组
GUI.BeginGroup(groupPos);
GUI.Button(new Rect(0, 0, 100, 50), "测试按钮"); GUI.Label(new Rect(0, 60, 100, 20), "Label信息");
GUI.EndGroup(); #endregion }
|
滚动列表
类似于分组,也可以用于批量控制控件的位置和显示尺寸,
但是当所有内容的尺寸大于可见内容的尺寸时,滚动列表可以水平或者垂直滚动显示,以改变可见内容
效果类似于其他GUI系统的滚动列表
- 第一个参数,可见部分的尺寸
- 第二个参数,当前滚动条所在的坐标
- 第三个参数,所有内容的尺寸(决定可滚动的范围)
- 第四个参数,是否总是显示横向滚动条(尽管可见内容大于所有内容)
- 第五个参数,是否总是显示纵向滚动条(尽管可见内容大于所有内容)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public Rect scPos; private Vector2 nowPos; public Rect showPos;
private string[] strs = new string[] { "123", "234", "222", "111" };
private void OnGUI() { #region 滚动列表 nowPos = GUI.BeginScrollView(scPos, nowPos, showPos, false, false);
GUI.Toolbar(new Rect(0, 0, 300, 50), 0, strs); GUI.Toolbar(new Rect(0, 60, 300, 50), 0, strs); GUI.Toolbar(new Rect(0, 120, 300, 50), 0, strs); GUI.Toolbar(new Rect(0, 180, 300, 50), 0, strs);
GUI.EndScrollView(); #endregion }
|