【Unity3D插件】NGUI屏幕自适应
来源:互联网 发布:淘宝1元秒杀优惠卷 编辑:程序博客网 时间:2024/05/11 17:28
屏幕自适应
NGUI可以比较方便的实现屏幕自适应,但是它的官方教程里面针对这个问题没有详细的教程,所以可能在实现的时候会走比较多的弯路。以下是我在开发过程中找到的一个比较方便的实现方法。
主要组件
1. UIAnchor
这个是用来确定控件在屏幕中的位置,另外有一篇教程专门讲它的功能,所有不会再赘述
2. UIStretch(可能有人不知道这个在哪里,其实这个是脚本组件----玛侬注)
这个是用来做缩放的组件。老版本的NGUI是集成在UIAnchor上的。新版本的UIStretch提供了4种缩放方式:
Horizontal:只缩放水平方向
Vertical:只缩放垂直方向
Bose:缩放两个方向
BasedOnHeight:基于高度等比缩放
然后基于这些我自己实现了一个
BasedOnWidth:基于宽度等比缩放
代码如下:
else if(style == Style.BasedOnWidth) {localScale.x = relativeSize.x * screenWidth; localScale.y = relativeSize.y * screenWidth;localScale.z = localScale.x; }
这段代码添加在Update方法里面。为了能将UIStretch挂在UIPanel上面不出问题,所有将Z轴也缩放了。
自适应流程
1. 创建一个新的UI,将Anchor里面的UIAnchor调整的合适的位置,注意最好将Anchor设置为Bottom。
2. 将Camera的Size调节到默认屏幕大小。比如UI是以960*640分辨率制作的,那么将Camera的Size调整到960。
3. 在Panel上面添加一个UIStretch,模式选择BasedOnWidth。完成之后你可以看到你的Panel的Scale被修改到了当前屏幕的X方向分辨率大小。
4. 将UI控件添加到Panel上,调整位置,在Panel下的所有控件都会以X方向为标准做等比缩放来适应屏幕大小。
5. 添加一张作为背景的图,将UISprite的anchor设置为Bottom,添加之后你可以看到这个sprite可以在不同的分辨率下自适应了。
6. 以上一步添加的背景图作为参照物来摆放页面上的控件,这样不仅仅是大小,位置也同样会按照相同的模式进行等比缩放
7. 可以在第3步创建的Panel下面添加子Panel,子Panel不需要UIStretch(一般用来做Draggable Panel,否则没必要,会增加额外的Draw Call)
8. 如果某一些控件需要定位在屏幕上下左右中的某一角,可以单独给他添加一个UIAnchor,这个时候UIStretch只会缩放这个控件的大小,它的位置由他自己的UIAnchor控制了
如果还有什么问题,欢迎大家拍砖,喷碳酸盐水
转自http://blog.csdn.net/daiguangda/article/details/7888942
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- 【Unity3D插件】NGUI屏幕自适应
- Unity3D插件NGUI的屏幕自适应
- Unity3D NGUI自适应屏幕
- 【Unity3D】【NGUI】屏幕自适应
- 【Unity3D】【NGUI】屏幕自适应
- [unity3d]NGUI屏幕自适应
- Unity3D NGUI 自适应屏幕
- Unity3D NGUI屏幕自适应
- Unity3D NGUI 自适应屏幕
- Unity3D下UI插件NGUI的屏幕自适应
- Unity3d NGUI 子控件之屏幕自适应
- c++中的各种输入操作符 cin,cin.get(),cin.getline()等函数用法总结
- 【恢复格式化U盘数据的方法】
- oracle游标详解
- INADDR_ANY
- mina 服务端实现心跳
- 【Unity3D插件】NGUI屏幕自适应
- Oracle SQL中的substr方法
- linux中获取MP3的相关信息的函数,包括总长时间等
- java中的值传递以及(址)引用传递实例
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- 删除归档文件脚本
- 基于Apache Mina实现的UDP服务端
- Codeforces Round #197 (Div. 2) C. Xenia and Weights - 搜索
- vim显示行号、语法高亮、自动缩进的设置