UG1L6——工具栏和选择网格

本章代码关键字

1
2
GUI.Toolbar()            //绘制一组工具栏
GUI.SelectionGrid() //绘制选择网格,相比工具栏可以限制单行显示数量,达到上限就换行

工具栏

GUI.Toolbar​会绘制一系列按钮作为工具栏,工具栏可以帮助我们根据不同的返回索引,来处理不同的逻辑
第二个参数传入当前索引值,第三个参数传入每个选项的名字,返回这一帧工具栏选择的选项,
因此和GUI.Toggle​一样,必须要在外面声明一个int​变量,用来存储当前工具栏选择了什么选项的索引

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private int toolbarIndex = 0;
private string[] toolbarInfos = new string[] { "选项一", "选项二", "选项三" };

private void OnGUI()
{
toolbarIndex = GUI.Toolbar(new Rect(0, 0, 200, 30), toolbarIndex, toolbarInfos);
switch (toolbarIndex)
{
case 0:
break;
case 1:
break;
case 2:
break;
}
}

选择网格

选择网格的作用与工具栏几乎一致,唯一的区别是多了一个参数xCount​,即水平方向最多显示多少个选项
用它可以实现多行选项的显示

1
2
3
4
5
6
7
private string[] toolbarInfos = new string[] { "选项一", "选项二", "选项三" };
private int selGridIndex = 0;

private void OnGUI()
{
selGridIndex = GUI.SelectionGrid(new Rect(0, 50, 200, 60), selGridIndex, toolbarInfos, 1);
}