你们使用unity,必定有看中其跨平台的强大功能,所以也不免会遇到不一样屏幕分辨率适配的问题。 iphone
先说说UIRoot.在新版本的ngui中加入一个选择菜单,分别有PixelPerfect,FixedSize,FixedSizeOnMobiles。网上有很多资料说明这个,不过我看了好几遍都没怎么懂。只到作了几个demo才明白。 优化
1.PixelPerfect,顾名思义,就是像素点完美化,怎么个说法呢,我所理解的就是保持全部的大小尺寸为最初。如一个gameobject原localScale为(1024,768,1)。那用了PixelPerfect,他的localScale仍是相对于屏幕那么大,这样,若是将其用在ipad3/4/air上,就会变成只有原来一半了。 ui
2.FixedSize和FixedSizeOnMobiles其实差很少,官方说是后者对前者在移动平台作了优化。这两个参数是主要可用来作屏幕适配的,说到这,就必须得看看其余三个参数,Manual Height,Minimum Height,Maximum Height。在此模式下,最终的屏幕缩放是要根据相应设备的宽高比来决定。如ipad2和ipad3。他们的分辨率比值同样,所以各位彻底不用费心适配问题。至少iphone和ipad的适配,则须要经过设备宽高比,在代码上动态调这三个值。 spa
另外,许多应用都会用到一些图片翻阅的功能,使用UIDraggablePanel可实现简单的功能。其配置分为三层。第一层一个添加了UIDraggablePanel的GameObject。第二层一个有uigrid的GameObject(或uitable,往后介绍此脚本的用法)。第三层才是一些gameobject,注意这些GameObject,必需要有碰撞体和UIDragPanelContents的脚本。 .net
今天作了个Demo专为研究ipad2和ipad3的问题,另外,并分享给你们。 图片
本例平台: ip
UNITY 4.2,NGUI 2.6.4,及一系列图片 it
1.首先建一个2d的uiroot。设备参数以下: table
2.图片建成一系列material。这个就不说了。若是不懂,能够去ngui官网查阅。 gui
3.建一个Gameobject,贴上DraggablePanel。并为其添加相关子uigrid。
4.添加系列Element到subgrid里,记得添加UIDragPanelContents。
5.调整下draggable panel的一些参数。以下:
到此,先在unity上跑一下,没问题。再放到ipad2,ipad3上运行,效果同样,大功告成!
最后,附上项目下载地址:http://download.csdn.net/detail/jackhamsir/6477355