Unity 利用NGUI做屏幕分辨率适配+学习UIDraggablePanel的使用
原地址:http://blog.sina.com.cn/s/blog_697b1b8c0101g2r4.html
大家使用unity,一定有看中其跨平台的强大功能,因此也难免会遇到不同屏幕分辨率适配的问题。
先说说UIRoot.在新版本的ngui中加入一个选择菜单,分别有PixelPerfect,FixedSize,FixedSizeOnMobiles。网上有不少资料说明这个,不过我看了好几遍都没怎么懂。只到做了几个demo才明白。
1.PixelPerfect,顾名思义,就是像素点完美化,怎么个说法呢,我所理解的就是保持所有的大小尺寸为最初。如一个gameobject原localScale为(1024,768,1)。那用了PixelPerfect,他的localScale还是相对于屏幕那么大,这样,如果将其用在ipad3/4/air上,就会变成只有原来一半了。
2.FixedSize和FixedSizeOnMobiles其实差不多,官方说是后者对前者在移动平台做了优化。这两个参数是主要可用来做屏幕适配的,说到这,就必须得看看其他三个参数,Manual Height,Minimum Height,Maximum Height。在此模式下,最终的屏幕缩放是要根据相应设备的宽高比来决定。如ipad2和ipad3。他们的分辨率比值一样,因此各位完全不用费心适配问题。至少iphone和ipad的适配,则需要通过设备宽高比,在代码上动态调这三个值。
另外,许多应用都会用到一些图片翻阅的功能,使用UIDraggablePanel可实现简单的功能。其配置分为三层。第一层一个添加了UIDraggablePanel的GameObject。第二层一个有uigrid的GameObject(或uitable,日后介绍此脚本的用法)。第三层才是一些gameobject,注意这些GameObject,必须要有碰撞体和UIDragPanelContents的脚本。
今天做了个Demo专为研究ipad2和ipad3的问题,另外,并分享给大家。
本例平台:
UNITY 4.2,NGUI 2.6.4,及一系列图片
1.首先建一个2d的uiroot。设备参数如下:

2.图片建成一系列material。这个就不说了。如果不懂,可以去ngui官网查阅。
3.建一个Gameobject,贴上DraggablePanel。并为其添加相关子uigrid。

4.添加系列Element到subgrid里,记得添加UIDragPanelContents。
5.调整下draggable panel的一些参数。如下:

到此,先在unity上跑一下,没问题。再放到ipad2,ipad3上运行,效果一样,大功告成!
声明:OSCHINA 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
Unity 利用NGUI做屏幕分辨率适配+学习UIDraggablePanel的使用的更多相关文章
- Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)
原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址: ...
- NGUI自适应屏幕分辨率
unity官方承诺的新ui系统一直没有推出来,我们的UI使用的是原生的OnGUI系统,刚好UI需要改版,索性就想迁到NGUI上面来,于是看了一下NGUI源码,发现NGUI可以大大的降低DrawCall ...
- Unity利用AnimationCurve做物体的各种运动
之前一直都是自己学习Unity各种做Demo,最近开始正式使用Unity来做一个款2d的游戏. 其中在做一个类似小球弹跳运动的时候遇到了点问题,查找了很多资料,无意间发现AnimationCurve ...
- 3.QT屏幕分辨率适配
需求:qt的窗口.组件.字体需要适配屏幕分辨率. 思路:qt是根据显示器的物理长度或者宽度于分辨率的关系来计算dpi 实现: #if(QT_VERSION >= QT_VERSION_CHECK ...
- cocos2d-x 屏幕分辨率适配方法
转自:http://blog.csdn.net/somestill/article/details/9950403 bool AppDelegate::applicationDidFinishLaun ...
- Unity 利用NGUI2.6.3做技能冷却的CD效果
NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件.没有的话这里有啊NGUI2.6.3下载地址: http://vdisk.weibo.com/s/KLqn ...
- Unity NGUI根据高度自适应屏幕分辨率
Unity版本:4.5.1 NGUI版本:3.6.5 本文内容纯粹转载,转载保留参考链接和作者 参考链接:http://blog.csdn.net/asd237241291/article/detai ...
- Ngui分辨率适配
必备知识点 1.分辨率适配必然是Orthographic Camera 2.Camera下对应的“Size”(图1)属性大小的理解:当前摄像机高度 = Size * 2 * UnityUnit(Uni ...
- Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi
Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...
随机推荐
- Angularjs 异步模块加载项目模板
ng-lazy-module-seed(Angularjs 异步模块加载项目模板) 相信做过SPA项目的朋友都遇到过这个问题:页面初始化时需要加载文件太大或太多了,许多文件加载后很可能不会运行到,这是 ...
- 【niubi-job——一个分布式的任务调度框架】----FAQ文档
引言 本文为niubi-job的FAQ文档,该文档会无限更新.如果您在这里没有找到您想要的答案,请把问题提交到这里. FAQ 1.为什么我的所有任务总是运行在同一个节点上,而没有平均分配到所有节点上? ...
- AngularJS开发指南6:AngularJS表单详解
表单控件(input, select, textarea )是用来获取用户输入的.表单则是一组有联系的表单控件的集合. 用户能通过表单和表单控件提供验证的服务,知道自己的输入是否合法.这样能让用户交互 ...
- Red Hat Linux9命令行--修改补充中
1.使用rpm工具安装应用软件:rpm [选项] [软件包名] 常用的参数及含义如下图所示: 2.编译安装应用软件 (1).tar.gz和.tgz使用如下的命令: [root@myhost ro ...
- 使用github托管代码心
这次使用github托管代码并没有下载客户端git for windows,而是使用eclipse里面自带的git上传了hello world这个项目,步骤如下: 1.首先创建项目:file-> ...
- overlay-scrollbar-js
function doAccept() { var div = $('#shadowbox .legal-gate-cont') var con = $('#shadowbox .html') var ...
- nnnaaavvv
<header id="masthead" class="masthead" role="banner"> <h1 cla ...
- 【BZOJ-2434】阿狸的打字机 AC自动机 + Fail树 + DFS序 + 树状数组
2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2022 Solved: 1158[Submit][Sta ...
- TCP/IP详解 笔记八
UDP协议 UDP是传输层协议,提供无连接不可靠的数据传输,其优点失效率高,确定确定是无序不可靠. 报文格式 UDP头部 TCP和UDP的端口号是独立的 UDP长度是指UDP数据报的总长度 UDP的校 ...
- jsp学习(三)
<%@page contentType="text/html;charset=gbk"%> <html> <body> <font siz ...