控件组可以看成一个大的容器,控件组里面的控件,相对位置已该控件组为基准,而不再已屏幕左上角为基准。

下面来看一下代码实例及其效果截图:

public class GUI2 : MonoBehaviour {
int toolbarInt=0;//代表默认第n-1个按钮是激活的
string[] toolbarstring={"工具","窗体","帮助"};//按钮名称个数和集合
int selectgrid=0;
string[] selectgridsring = {"grid 1","grid 2","grid 3","grid 4","grid 5"};
// Use this for initialization
void Start () { } // Update is called once per frame
void Update () { }
void OnGUI()
{
GUILayout.Button ("这是一个Gui按钮");
GUI.BeginGroup (new Rect (Screen.width/2-50, Screen.height/2-50, 600, 600));
toolbarInt = GUI.Toolbar (new Rect (0, 0, 220, 40), toolbarInt, toolbarstring); selectgrid = GUI.SelectionGrid (new Rect (150, 60, 250, 80), selectgrid, selectgridsring, 2);//2列数,unity可自动缩放
//检测控件是否发生了改变
if (GUI.changed) {
print("某些控件发生了改变");
//具体控件点击的改变
if(toolbarInt==1)
{
print("toolbar1被点击了"); }
}
GUI.EndGroup ();
}
}

GUI.EndGroup ();是结束距离他最近的GUI.BeginGroup();

下面的我们可以利用控件组的嵌套来实现一些特殊的效果,如视频加载时候的缓冲条~

具体代码如下:

public class NextGroup : MonoBehaviour {

public     Texture2D bgimg;
public float play=1.0f;
// Use this for initialization
void Start () { } // Update is called once per frame
void Update () {
play -= 0.002f;
if (play <= 0f) {
play=1f;
}
}
void OnGUI()
{
GUI.BeginGroup (new Rect(,,,));
GUI.Box (new Rect (, , , ),bgimg);
GUI.BeginGroup (new Rect (, , play * ,));
GUI.Box (new Rect (, , , ),"");
GUI.EndGroup ();
GUI.EndGroup ();
}
}

这里嵌套了2个控件组,然后根据每帧里面的box大小发生变化,从而实现我们想要的效果。

从零开始学习UNITY3D(GUI篇 群组视图控件)的更多相关文章

  1. 从零开始学习UNITY3D(GUI篇)

    邻近年底,心也有些散乱,加上工作忙了一阵,在达内培训的课程也落下了不少.对unity3d的热度似乎也有点点下降.痛定思痛,又在淘宝上买了写蛮牛网的视频.总之不管是用任何手段都要逼着自己不要浪费了培训的 ...

  2. 从零开始学习UNITY3D(GUI篇 2)

    复合控件极其使用,toolbar,selectgrid 先看效果图: toolbar可以看作是一个button按钮的集合,一次只能点击一个按钮, selectgrid又可以堪称是一个toolbar的集 ...

  3. 从零开始学习UNITY3D(GUI篇 GUI.Window)

    unity3d里面,也是包含window窗体的,下面看一下GUI.Window方法的详情 下面我们用代码实现一个通过开关显示窗体的隐藏和显示的功能,代码如下: public class windows ...

  4. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  5. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  6. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

  7. UWP学习记录7-设计和UI之控件和模式4

    UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...

  8. UWP学习记录4-设计和UI之控件和模式1

    UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用, ...

  9. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

随机推荐

  1. floodlight 学习(一)

    其实这个控制器应该没有多少人用了吧,一年多都没更新了,鉴于最近无论如何都要用这个,将学习笔记贴出来吧. 1.FloodlightProvider(Dev) 1.1简介:FloodlightProvid ...

  2. 全国计算机等级考试二级教程-C语言程序设计_第8章_地址和指针

    面试: unsigned int *p1 = &num; int *p2 = &num; #define _CRT_SECURE_NO_WARNINGS #include<std ...

  3. 网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告

    2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一 ...

  4. wxpython 树形控件全选和取消全选

    #encoding:utf-8 import wx import wx.lib.agw.customtreectrl as CT class MyFrame(wx.Frame): def __init ...

  5. BestCoder Round #14

    Harry And Physical Teacher Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  6. 固定cell.imageView.image的大小

    cell.imageView.image的大小 会随着Cell的高度而变化,不同的图片显示的也不一样,在网上找了几种方法,简单方便的是下面这种: UIImage *icon = [UIImage im ...

  7. js清空页面控件值

    function funClear() {var txts = document.getElementsByTagName("input");for (var i = 0; i & ...

  8. Windows开机登录认证与Gina DLL

    Windows的开机密码认证模块一般是由Gina DLL完成的.在NT/2000中交互式的登陆支持是由WinLogon调用GINA DLL实现的,GINA DLL提供了一个交互式的界面为用户登陆提供认 ...

  9. Ubuntu自带的vi编辑器太难用了,换

    由于Ubuntu预安装的是tiny版本,就会导致我们在使用上的产生不便.所以我们要安装vim的full版本. 首先,先卸掉旧版的vi,输入以下命令: sudo apt-get remove vim-c ...

  10. 新浪云-PHP实现上传原图,缩略图

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ...