GUI-分组和滚动View
知识点
public Rect groupPos;public Rect scRect;public Rect showRect;private Vector2 nowPos;private string[] strs = new string[] { "123", "234", "222", "111" };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#region 知识点二 滚动列表nowPos = GUI.BeginScrollView(scRect, nowPos, showRect);//有开始就有结束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();
动态绘制Label
public Rect svPos;public Rect showPos;private Vector2 nowPos;public string[] strs;private void OnGUI(){//绘制之前通过字符串数组 动态的计算出 内部显示内容的 尺寸showPos.height = strs.Length * 30;nowPos = GUI.BeginScrollView(svPos, nowPos, showPos);//for循环 根据有多少个字符串动态的绘制 Label y位置也是根据索引计算的for (int i = 0; i < strs.Length; i++){GUI.Label(new Rect(0, i * 30, 100, 30), strs[i]);}GUI.EndScrollView();}