[原]Unity3D深入浅出 - GUI控件
Unity的GUI类提供了丰富的界面控件,通过组合这些控件,完成和用户交互的界面。
- Lable:绘制文本和图片
- Box:绘制一个图形框
- Button:绘制一个响应单击事件的按钮
- RepeatButton:绘制一个处理连续按下事件的按钮
- TextField:绘制一个单行文本输入框
- PasswordField:绘制一个密码输入框
- TextArea:绘制一个多行文本输入框
- Togle:绘制一个开关
- Toolbar:绘制一个工具条
- SelectionGrid:绘制一组网格按钮
- HorizontalSlider:绘制一个水平方向的滑动条
- VerticalSlider:绘制一个垂直方向的滑动条
- HorizontalScrollbar:绘制一个水平方向的滚动条
- VerticalScrollbar:绘制一个垂直方向的滚动条
- Window:绘制一个窗口,可以用于放置控件。
GUI代码需要在OnGUI函数中调用才能绘制,如果放在Update函数中会报错。
GUI控件一般需要传入一个Rect参数来指定屏幕的绘制区域。例如Rect(20,40,100,60),则绘制在离屏幕左上角坐标(20,40)的位置,宽度为100,高度为60。
注意:在UnityGUI中,屏幕坐标系以左上角为原点(0,0),右下角为(Screen.Widht,Screen.Height)
GUILayout自动布局:
在unity中GUI控件的布局方式有两种,一种为固定布局,即在绘制控件时传入的位置参数;另外一种就是GUILayout自动布局,这种方式一般用于开发者不太在乎控件的精确位置的情况下。
如果想使用自动布局,绘制时使用GUILayout来绘制控件。
示例:
void OnGUI(){
//固定布局
GUI.Button(new Rect(,,,),"GUI button");
//自动布局
GUILayout.Button("I am an automatic layout button")
}
区域Area:
有时候使用自动布局,当控件数量过多的时候则会显得摆放得太杂乱,这时候可以使用GUILayout.BeginArea和GUILayout.EndArea来指定自动布局要摆放的区域,对显示区域大致划分。
示例:
void OnGUI()
{
GUILayout.BeginArea(new Rect(Screen.width/,Screen.height/,,);
//在这之间绘制控件
GUILayout.EndArea();
}
另外还有GUILayer.BeginHorizontal和GUILayer.EndHorizontal,来设置水平布局。
GUILayout.BeginVertical和GUILayer.EndVertical,类设置垂直布局。
[原]Unity3D深入浅出 - GUI控件的更多相关文章
- Unity3D入门之GUI基础以及常用GUI控件使用(2)
1.GUI基础 (1)GUI部分是每帧擦除重绘的,只应该在OnGUI中绘制GUI,按钮:GUILayout.Button(“Hello”); 只读标签:GUILayout.Label() (2)修改控 ...
- 从一点儿不会开始——Unity3D游戏开发学习(二) ——GUI控件之Button
一些废话 我在上一篇“一点儿不会”的系列随笔中说大概一周会发个2~3篇关于Unity的学习笔记.可这就两周过去了,我还停留在一篇的进度上,主要是这两周发生了一些事情导致我更新缓慢.其实截至目前为止,上 ...
- Unity3D学习笔记(一)GUI控件的调用
GUI控件:1.在Start中初始化,在OnGUI中调整.2.公有变量才会出现在Inspector面板.3.GUI控件的初始化和处理在OnGUI内完成.4.JavaScript的中文为UTF-8编码可 ...
- [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...
- paip.gui控件tabs控件加载内容的原理以及easyui最佳实现
paip.gui控件tabs控件加载内容的原理以及easyui最佳实现 //////////////tabs控件的加载 同form窗体一样,俩个方式 两个方式:一个是url,简单的文本可以使用这个,不 ...
- paip.gui控件form窗体的原理实现以及easyui的新建以及编辑实现
paip.gui控件form窗体的原理实现以及easyui的新建以及编辑实现 //////新建 与编辑 var EditForm=new Form_easyui(); if(row) ...
- Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员 1. 配置server连接权限 1 2. 配置数据库权限 1 3. 设置表格/视图安全性 2 1. ...
- Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目
Atitit.Gui控件and面板----web server区----- web服务器监控面板and控制台条目 1. Resin4.0.22 1 2. 查看http连接数::Summary>& ...
- Atitit gui控件定位解决方案
Atitit gui控件定位解决方案 1.1. 但是AUTOIT没有找图功能..可以请大侠们写一份这个UDF出来吗?1 1.2. ahk1 1.3. Java +opencv 模板匹配2 1.1. 但 ...
随机推荐
- Printer Queue
Description The only printer in the computer science students' union is experiencing an extremely he ...
- (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介
Qt Model/View模式简介 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项 ...
- 详解Javascript中的Array对象
基础介绍 创建数组 和Object对象一样,创建Array也有2种方式:构造函数.字面量法. 构造函数创建 使用构造函数的方式可以通过new关键字来声明,如下所示: 12 var arr = new ...
- 十三、mysql 分区之 RANGE && LIST
.RANGE 分区 创建实例: CREATE TABLE EMP ( id int not null primary key auto_increment, name ) not null defau ...
- 四、记一次失败的 CAS 搭建 之 结果总是那么伤(客户端)
==================================================================================================== ...
- 回车,根据编码获取相应记录,然后再将这录绑定到AutoList
问题描述: 回车后,根据编码获取相应记录,然后再将这录绑定到AutoList(我们自定义控件,其实就是下拉列表),回车事件是用jquery ajax实现,这样在后台给AutoList绑定数据源,如果不 ...
- 收录一个简单的css类库
/* CSS liberary */.yahei { font-family: "Microsoft Yahei", "Tahoma", "Si ...
- linux系统日志使用
FROM:http://blog.csdn.net/zzxian/article/details/7905964 Part I: syslogd & klogd ---------/etc ...
- [SQL SERVER系列]之嵌套子查询和相关子查询
子查询有两种类型,一种是只返回一个单值的子查询,这时它可以用在一个单值可以使用的地方,这时子查询可以看作是一个拥有返回值的函数:另外一种是返回一列值的子查询,这时子查询可以看作是一个在内存中临时存在的 ...
- net use命令详细解释
1)建立空连接: net use \\IP\ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格) 2)建立非空连接: net use \ ...