自己学习用

你还在用NGUI的分辨率适应方式吗?你还在用2DTooKit分辨率适应方式吗?如果你还用那么说明你已经OUT啦!
下面我来讲讲这几天编写的一套分辨率适应方式,适用于任何分辨率,并且简单易上手,还支持横屏和竖屏,只需要你填写最合适你UI的分辨率,当你切换到其他分辨率的时候UI自动适应(包括位置和大小),而且不会有任何UI拉伸现象。
 
第一步:首先你要把MyAnchorCamera这个脚本拖到你摄像机上,然后你会看到你的摄像机上附加了这个脚本,并且这个脚本下面有一些参数

图片:QQ截图20130114124235.png


 
 
下面我来教大家怎么设置这些参数:
Mode:最开始你要选择你要适应的是横屏还是竖屏(这个很重要),不同模式他的适应方式不一样,默认的是竖屏模式(Tall)。
Scale:这个参数不需要你设置,这个参数会根据你当前的分辨率设置好的。
suirableUI_width:这个参数很重要,你需要自己填写最适合你UI大小、位置的分辨率的宽,也就是你在哪个分辨率下编辑游戏的UI的大小位置最合适就填写哪一个分辨率。默认参数是0,当然你不填的话,你切换分辨率的时候你的UI大小不会改变的哈。
suirableUI_height:同上

所以你最开始要做的事情就是要把Mode和suirableUI_width、suirableUI_height三个参数填好(记得一定要先填哈)!
 
 
现在开始实战演练,我是在854 * 480分辨率横屏模式下进行编辑的(大家请注意分辨率和UI位置哈):

图片:QQ截图20130114125654.png

图片:QQ截图20130114125733.png


 
 
第二步:点击刚才附加到摄像机上那个脚本中的Create Anchor按钮

图片:QQ截图20130114130111.png


 
 
然后你会发现在摄像机下面会创建一个空对象Anchor,在这个对象上面会有一个脚本,这个脚本的作用其实就是对UI进行固定,也就是相当于对UI进行描点。

图片:QQ截图20130114130343.png

图片:QQ截图20130114130355.png


 
现在来说说这个空对象上面的MyUIAnchor这个脚本中的参数:
Anchor:这个参数是可选参数,里面有13中方法,分别多顶端的左、中、右,对中间的左、中、右,对底端的左、中、右,对四个角进行描点(也就是固定UI的位置)
offset:是UI的偏移变量,对UI位置进行微调参数

 
 
第三步:我们对UI进行描点(位置固定),我们创建5个Anchor空对象

图片:QQ截图20130114131124.png


 
 
然后改变每一个Anchor的模式,然后改一个我们能辨认的名字(记得一定要先选择模式哦,不然UI位置不好控制哈)

图片:QQ截图20130114131442.png

图片:QQ截图20130114131818.png


 
这些完成以后就把你要固定的UI拖到上面选好模式的空对象下面

图片:QQ截图20130114132057.png

图片:QQ截图20130114132115.png


 
 
 
 
下面我们来看看分辨率适应的效果如何(注意UI的位置和大小哦,我是在854 * 480分辨率下进行适应的哦):
480 * 320:

图片:QQ截图20130114132411.png


 
 
800 * 480:

图片:QQ截图20130114132438.png


 
 
1024 * 600:

图片:QQ截图20130114132528.png


 
 
 
960 * 680:

图片:QQ截图20130114132621.png


 
 
 
1280 * 800:

图片:QQ截图20130114132657.png


 
 
 
 
1024 * 768:

图片:QQ截图20130114132800.png


 
 
 
 
最后来一个不规则的分辨率910 * 613:

图片:QQ截图20130114132717.png


 
 
 
 
 
木有了,完成了,有木有很简单,有木有!
当然 作为福利,附件里面还有一个背景填充脚本!把BKAnchor这个脚本放到你要填充整个摄像机的背景图片上它会自动的帮你把摄像机填充满,注意背景会有一定程度的拉伸变形哈!
(先前那个附件 BKAnchor脚本整掉了一行代码,现在补上,大家看看还有没有错,这个脚本要在有 MyAnchorCamera这个脚本的前提下才能生效哈 )
 
注意:此分辨率适应不支持unity自带的GUI;在NGUI上用的时候不要用NGUI的层级关系,如果要用NGUI自带的层级关系请把UIRoot节点放大!
有问题或者改进建议、经验交流请加unity3D技术交流群
                                                                                                                                   
                                                                                                                  ————  麦兜
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值