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)的更多相关文章

  1. NGUI使用教程(2) 使用NGUI创建2D场景而且加入标签和button

    1.创建2D场景 要使用NGUI创建2D场景,首先咱们必须新建一个项目,而且导入NGUI作为这个项目的插件,相信假设看过上一篇教程都知道怎么导入NGUI了,这里就不赘述,假设有疑问的能够去看上一篇教程 ...

  2. Unity NGUI 创建简单的按钮

    Unity版本:4.5.1 NGUI版本:3.6.5 注意NGUI版本,网上的大部分教程都是2.x版本的,在步骤上面略有不同,此文适合初学者. 示例: 通过NGUI创建一个背景和按钮. 1.首先创建一 ...

  3. Linux 进程与线程三(线程比较--创建线程参数)

    int pthread_equal(pthread_t th1,pthread_t th2); pthread_equal函数比较th1与th2是否为同一线程,由于不可以讲pthread_t数据类型认 ...

  4. [Effective JavaScript 笔记]第22条:使用arguments创建可变参数的函数

    第21条讲述使用可变参数的函数average.该函数可处理任意数量的参数并返回这些参数的平均值. 如何创建可变参数的函数 1.实现固定元数的函数 书上的版本 function averageOfArr ...

  5. C#中创建线程,创建带参数的线程

    线程操作主要用到Thread类,他是定义在System.Threading.dll下.使用时需要添加这一个引用.该类提供给我们四个重载的构造函 构造函数定义: 无参数委托 [SecuritySafeC ...

  6. Revit通过API创建共享参数

    Revit共享参数是通过创建一个.txt类型的文件来保存相关信息,一旦与项目保存完毕之后,共享参数也就变成了项目参数(项目参数无法通过API创建),项目参数是保存在Revit项目里面的,所以此时这个. ...

  7. Unity3d之树木创建的参数设定

    Unity3d之树木创建的参数设定 通常Unity3d创建树木经常会创建出很多奇葩的种类=_=,以下是创建出比较正常树木的基本参数 1:> 基本树干形状建立: 选择根建立分枝干设置分支干Di ...

  8. Fragment 创建 传递参数 跳转【典例】

    Fragment一定要有一个无参的构造方法! 因为当Activity因屏幕旋转或者因内存不足被系统杀死时,会导致Activity被重新创建,而当Activity被重建时,FragmentManager ...

  9. springmvc后台接前端的参数,数组,集合,复杂对象等

    springmvc后台接前端的参数,数组,集合,复杂对象等 参考地址:https://blog.csdn.net/feicongcong/article/details/54705933  常用的几种 ...

随机推荐

  1. jsp 变量和方法的声明 Java程序片 HTML注释 JSP注释

    <%!...%> 声明变量和方法 <%!...%>之中的变量为JSP页面的成员变量,当多个线程访问本页面时,多个线程共享此变量. <%@ page contentType ...

  2. URL编码表,URL编码大全

    url编码是一种浏览器用来打包表单输入的格式. 定义 url编码是一种浏览器用来打包表单输入的格式.浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送 ...

  3. [Effective JavaScript 笔记]第19条:熟练掌握高阶函数

    高阶函数介绍 高阶函数曾经是函数式编程的一个概念,感觉是很高深的术语.但开发简洁优雅的函数可以使代码更加简单明了.过去几年中脚本语言采用了这些个技术,揭开了函数式编程的最佳惯用法的神秘面纱.高阶函数就 ...

  4. [codeforces 241]C. Mirror Box

    [codeforces 241]C. Mirror Box 试题描述 Mirror Box is a name of a popular game in the Iranian National Am ...

  5. Linux LAMP环境搭建

    什么是LAMP Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了 ...

  6. FFT(1)

    FFT Complex struct complex{ double re,im; complex(double r,double i){re=r,im=i;} complex(){re=0.0,im ...

  7. 静态资源[org.springframework.web.servlet.PageNotFound]

    springmvc 无法访问js.css.jpg等资源文件,tomcat启动报警告如下 [org.springframework.web.servlet.PageNotFound] - No mapp ...

  8. ImageMagick资料

    ImageMagick资料 ---------------------------------------------------------------------------- ImageMagi ...

  9. 《转》.NET开源核心运行时,且行且珍惜

    转载自infoQ 背景 InfoQ中文站此前报道过,2014年11月12日,ASP.NET之父.微软云计算与企业级产品工程部执行副总裁Scott Guthrie,在Connect全球开发者在线会议上宣 ...

  10. Java面向对象的多态

    Java中多态的概念是面向对象中除封装和继承外非常重要的知识点,也是Java面向对象三大特性最后一个特性 多态其实就是指对象存在的多种形态,多态分为引用多态和方法多态 引用多态的含义就是:父类的引用可 ...