UGUI之在场景中设置、修改标签和按钮
UnityGUI使用一个特殊的OnGUI()函数,在该函数中加入实现UI的脚本。
它一共有两种类型的接口:GUI.xxx()和GUILayout.xxx()。
第一种需要自动手写填写处于屏幕上的位置。我之前学的教程都是用这种方式的,参考代码如下:
void OnGUI()
{
//居中显示文字
GUI.skin.label.alignment = TextAnchor.MiddleCenter;
//设置字体大小
GUI.skin.label.fontSize = 50;
//创建一个标签,用于在指定位置显示 Game Over,这个位置和标签的大小由new Rect()确定,数据大小视需要而定
GUI.Label(new Rect(0,0,Screen.width,Screen,height),"Game Over");
//创建一个Button,当按下时触发事件
if(GUI.Button(new Rect(Screen.width * 0.5f - 150,Screen.height * 0.7f,300,40),"Try again"))
{
//...
}
}
第二种方法是Unity为我们自动排版的,我们只需要关心内容即可。它主要含有三个函数:
- GUILayout.Label(string str):标签,用于显示文本。输入的参数为需要显示地文本。
- GUILayout.Button(string str):按钮,用于触发事件,输入的参数为在按钮上显示的文本。它返回一个Bool值,表明是否按下了按钮。
- GUILayout.TextField(string str):文本区域,用于输入文本。输入的参数为显示地文本,返回经过用户输入改动后的文本。
参考代码如下:
string text = "";
string name = "";
void OnGUI()
{
//用标签显示文本
GUILayout.Label("请输入你的名字: ");
//用文本区域输入你的名字
text = Layout.TextField(text);
if(GUILayout.Button("提交"))
{
name = Text;
}
//当name不为空时,显示输入的文本内容
if(!string.IsNullOrEmpty(name))
{
GUILayout.Label("提交成功!名字:" + name);
}
}
此示例的显示结果如下:
注:该结果显示在场景的左上方,这是Unity自动排版的结果。更多内容等我学了再说。
UGUI之在场景中设置、修改标签和按钮的更多相关文章
- LoadRunner中Action的迭代次数的设置和运行场景中设置
LoadRunner中Action的迭代次数的设置和运行场景中设置 LoadRunner是怎么重复迭代和怎么增加并发运行的呢? 另外,在参数化时,对于一次压力测试中均只能用一次的资源应该怎么参数化呢? ...
- 在jsp页面中使用自定义标签
在某些场景中,自定义标签可封装大量代码,使页面变得更简洁,标签也可以很方便地在不同页面中实现通用而不必去粘贴大量的js代码.现在把最近做的一个自定义标签在这里总结一下.首先总结一下关于自定义标签的一些 ...
- Unity3D NGUI制作的Button放到场景中,按钮从2D变到3D
通常我们使用Button都是在UI界面,即NGUI的摄像机下,如果想换到场景中,即不让按钮以UI形式显现,而是和场景中的物体一起随着摄像机移动而缩小,放大. 很简单,把Button从NGUi的摄像机中 ...
- HTML中的<select>标签如何设置默认选中的选项
方法有两种. 第一种通过<select>的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果. 1 2 3 4 5 < select id = " ...
- html5之canvas困惑 在canvas标签内需要设置了宽跟高,如果在css中设置同样的宽跟高,画出来的图像变形了?
<canvas class="cvs"></canvas> 遇到的问题: 如css 中设.cvs{width:500px;height:400px;},也就 ...
- Fiddler中设置断点修改Request和Response
Fiddler中设置断点修改Request Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据.设置断点 ...
- HTML之:让网页中的<a>标签属性统一设置-如‘新窗口打开’
在开发过程中,我们往往想在页面中,给<a>设置一个统一的默认格式,例如我们想让链接:“在新窗口打开”,我们就可以使用<base>标签 在网页中添加这段代码: <head& ...
- 遇到问题-----JS中设置window.location.href跳转无效(在a标签里或这form表单里)
问题情况 JS中设置window.location.href跳转无效 代码如下: ? 1 2 3 4 5 6 7 8 <script type="text/javascript&quo ...
- 【转】vue中动态设置meta标签和title标签
因为和原生的交互是需要h5这边来提供meta标签的来是来判断要不要显示分享按钮,所有就需要手动设置meta标签,标题和内容 //router内的设置 { path: '/teachers', name ...
随机推荐
- Codeforces Round #185 (Div. 2) C. The Closest Pair 构造
C. The Closest Pair Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/312/p ...
- HDU 4588 Count The Carries 数学
Count The CarriesTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...
- cocos2d-x 3.0环境搭建
原文来自于:http://blog.csdn.net/linzhengqun/article/details/21663341 安装工具 1. 配置JDK JDK下载地址:http://www.ora ...
- 交换a、b
有两个变量a和b,不使用任何中间变量交换a和b. 方法一: 采用如下方法: a=a+b; b=a-b; a=a-b; 这样做的缺点就是如果a.b都是比较大的数,则a=a+b时就会越界. 而采用: a= ...
- leetcode -- Largest Rectangle in Histogram TODO O(N)
Given n non-negative integers representing the histogram's bar height where the width of each bar is ...
- 奇异值分解(SVD) --- 几何意义
原文:http://blog.sciencenet.cn/blog-696950-699432.html PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD ...
- css3 一些属性
==text-shadow== 语法:text-shadow: x-offset y-offset blur-radius color text-shadow:X 轴偏移量 Y轴偏移量 模糊半径 阴影 ...
- JavaScript开发之路01(初识Sencha Touch框架)
一.SenchaTouch的hello world实例: Ext.application({ name:'myapp', icon:'images/icon.png', glossOnIcon:fal ...
- linux安装gcc的一些问题。
输入命令:yum install gcc 提示: Loaded plugins: fastestmirror, langpacksExisting lock /var/run/yum.pid: ano ...
- Python基础复习_Unit one
一. 编译&&安装Python2.7 1.安装python第三方模块管理工具 easy_install --->> easy_install-2.7 pip Ipy ...