NGUI创建Camera参数为Simple 2D的UI UI对象的结构UI Root(2D)
NGUI创建Camera参数为Simple 2D的UI UI对象的结构UI Root(2D)
使用NGUI创建的Camera参数为Simple 2D的UI,会在游戏的场景中生成1个名为UI Root(2D)的游戏对象,且此对象下还包含了3个其它对象:Camera、Anchor和Panel,如图1-4所示。本小节会分别介绍这4个游戏对象本文选自NGUI从入门到实战。

图1-4 在Hierarchy视图里查看新创建的UI游戏对象
1.4.1 UI Root(2D)
此游戏对象将负责控制UI控件的大小。在Hierarchy视图里选中UI Root(2D)对象,然后在Inspector视图里查看此游戏对象上的组件,如图1-5所示本文选自NGUI从入门到实战。

图1-5 在Inspector视图里查看UI Root(2D)对象的各组件
Transform组件在Unity的游戏对象上很常见,或者说所有的游戏对象上都有此组件,很平常就不做介绍了。而UIRoot(Script)组件是此游戏对象所特有的,其属性和介绍如下:
q Scaling Style:可以用于修改UI控件的缩放样式。
提示:此属性下有3个可选的参数:PixelPerfect、FixedSize和FixedSizeOnMobiles。
² PixelPerfect,将确保UI控件无论在何种游戏分辨率中,始终保持指定的像素大小。例如,指定像素大小为300×200,那么游戏在320×240的分辨率下,此UI控件就会很大,而在1920×1080的分辨率下,此UI控件就会很小。
² FixedSize,将确保UI控件无论在何种游戏分辨率中,始终于游戏视图保持指定的大小比例。即UI控件会随着游戏视图的缩放,而成比例的缩放。
² FixedSizeOnMobiles,将确保UI控件,在移动设备上的时候,保持指定的大小比例;在其它设备上时,保持指定的像素大小。
q Manual Height:当UI控件的缩放样式为FixedSize时,此属性就决定了UI控件是否需要成比例的缩放。例如,当游戏视图的高度大于这个属性设置的值时,UI控件会成比例的放大;当高度小于这个值时,UI控件会成比例的缩小;
提示:UI控件缩放时,控件的宽高比是恒定的。
q Minimum Height:当UI控件的缩放样式为PixelPerfect时,此属性就指定了游戏视图的最小高度,当游戏视图的高度值小于这个属性的设置值时,UI控件就会主动成比例的缩小;
q Maximum Height:当UI控件的缩放样式为PixelPerfect时,此属性就指定了游戏视图的最大高度,当游戏视图的高度值大于这个属性的设置值时,UI控件就会主动成比例的放大;
提示:游戏视图的分辨率比例多种多样,而UI控件仅仅以高度为依据,决定是否缩放控件,因此就有可能导致在不同的游戏分辨率比例下,出现UI控件可能会被视图“裁剪”的情况。为了应对这一情况,建议读者使用两种方法来避免。
方法一:将UI控制设置为正方形,即UI控件的宽度和高度相同;
方法二:为游戏视图指定游戏时的分辨率比例。指定的方法是,在Unity中单击Edit|Project Settings|Player命令,会弹出名为PlayerSettings的对话框,如图1-6所示。

图1-6 PlayerSettings对话框
展开PlayerSettings对话框里的Resolution and Presentation属性组,设置其中的Supported Aspect Ratios属性,如图1-7所示。

图1-7 Resolution and Presentation属性组
Unity默认支持的游戏视图分别率有很多,如4:3、16:10等等,如果希望游戏仅能在分别率4:3下运行,就取消对其它分辨率的复选本文选自NGUI从入门到实战。
NGUI创建Camera参数为Simple 2D的UI UI对象的结构UI Root(2D)的更多相关文章
- NGUI使用教程(2) 使用NGUI创建2D场景而且加入标签和button
1.创建2D场景 要使用NGUI创建2D场景,首先咱们必须新建一个项目,而且导入NGUI作为这个项目的插件,相信假设看过上一篇教程都知道怎么导入NGUI了,这里就不赘述,假设有疑问的能够去看上一篇教程 ...
- Unity NGUI 创建简单的按钮
Unity版本:4.5.1 NGUI版本:3.6.5 注意NGUI版本,网上的大部分教程都是2.x版本的,在步骤上面略有不同,此文适合初学者. 示例: 通过NGUI创建一个背景和按钮. 1.首先创建一 ...
- Linux 进程与线程三(线程比较--创建线程参数)
int pthread_equal(pthread_t th1,pthread_t th2); pthread_equal函数比较th1与th2是否为同一线程,由于不可以讲pthread_t数据类型认 ...
- [Effective JavaScript 笔记]第22条:使用arguments创建可变参数的函数
第21条讲述使用可变参数的函数average.该函数可处理任意数量的参数并返回这些参数的平均值. 如何创建可变参数的函数 1.实现固定元数的函数 书上的版本 function averageOfArr ...
- C#中创建线程,创建带参数的线程
线程操作主要用到Thread类,他是定义在System.Threading.dll下.使用时需要添加这一个引用.该类提供给我们四个重载的构造函 构造函数定义: 无参数委托 [SecuritySafeC ...
- Revit通过API创建共享参数
Revit共享参数是通过创建一个.txt类型的文件来保存相关信息,一旦与项目保存完毕之后,共享参数也就变成了项目参数(项目参数无法通过API创建),项目参数是保存在Revit项目里面的,所以此时这个. ...
- Unity3d之树木创建的参数设定
Unity3d之树木创建的参数设定 通常Unity3d创建树木经常会创建出很多奇葩的种类=_=,以下是创建出比较正常树木的基本参数 1:> 基本树干形状建立: 选择根建立分枝干设置分支干Di ...
- Fragment 创建 传递参数 跳转【典例】
Fragment一定要有一个无参的构造方法! 因为当Activity因屏幕旋转或者因内存不足被系统杀死时,会导致Activity被重新创建,而当Activity被重建时,FragmentManager ...
- springmvc后台接前端的参数,数组,集合,复杂对象等
springmvc后台接前端的参数,数组,集合,复杂对象等 参考地址:https://blog.csdn.net/feicongcong/article/details/54705933 常用的几种 ...
随机推荐
- URL编码表,URL编码大全
url编码是一种浏览器用来打包表单输入的格式. 定义 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送 ...
- UIDatePicker的简单用法
// 初始化UIDatePicker UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(, , , ) ...
- HDU 4435 charge-station bfs图论问题
E - charge-station Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- intellij idea 如何更改编辑器文本字体和大小
换上了intellij idea之后,第一件事就是想要改变下文字字体,因为在我这个27寸的2k分辨率的屏幕上,文字显然太小了. intellij idea字体设值分成两部分,一部分是UI部分字体字号设 ...
- JavaScript 在页面上显示数字时钟
显示一个钟表 拓展JavaScript计时:http://www.w3school.com.cn/js/js_timing.asp setTimeout() 方法会返回某个值.在下面的语句中,值被储存 ...
- Java for LeetCode 071 Simplify Path
Given an absolute path for a file (Unix-style), simplify it. For example, path = "/home/", ...
- MFC dfs遍历文件
//如果涉及到大文件的遍历(大于4GB),可以将以下代码_finddata_t换成__finddata64_t,_findfirst换成_findfirst64,_findnext换成_findnex ...
- SQLServer语句大使
1.创建数据库create database 数据库名字 2.删除数据库drop database 数据库名字3.创建表(identity(1,1)自动增长,倍数为1,primary key设置主键) ...
- NEXTDAY
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "com_time ...
- Linus的redHat在root出现错误:-bash: addgroup: command not found
在root下无法完成添加用户组操作,如下: [root@host8 ~]# addgroup hadoop-bash: addgroup: command not found 这是的,root下竟然不 ...