原地址: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的使用的更多相关文章

  1. Unity3D NGUI自适应屏幕分辨率(2014/4/17更新)

    原地址:http://blog.csdn.net/asd237241291/article/details/8126619 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 本文链接地址: ...

  2. NGUI自适应屏幕分辨率

    unity官方承诺的新ui系统一直没有推出来,我们的UI使用的是原生的OnGUI系统,刚好UI需要改版,索性就想迁到NGUI上面来,于是看了一下NGUI源码,发现NGUI可以大大的降低DrawCall ...

  3. Unity利用AnimationCurve做物体的各种运动

    ​之前一直都是自己学习Unity各种做Demo,最近开始正式使用Unity来做一个款2d的游戏. 其中在做一个类似小球弹跳运动的时候遇到了点问题,查找了很多资料,无意间发现AnimationCurve ...

  4. 3.QT屏幕分辨率适配

    需求:qt的窗口.组件.字体需要适配屏幕分辨率. 思路:qt是根据显示器的物理长度或者宽度于分辨率的关系来计算dpi 实现: #if(QT_VERSION >= QT_VERSION_CHECK ...

  5. cocos2d-x 屏幕分辨率适配方法

    转自:http://blog.csdn.net/somestill/article/details/9950403 bool AppDelegate::applicationDidFinishLaun ...

  6. Unity 利用NGUI2.6.3做技能冷却的CD效果

    NGUI非常强大我们今天来学习一下,如何利用NGUI做技能冷却的CD效果.先导入NGUI的插件.没有的话这里有啊NGUI2.6.3下载地址: http://vdisk.weibo.com/s/KLqn ...

  7. Unity NGUI根据高度自适应屏幕分辨率

    Unity版本:4.5.1 NGUI版本:3.6.5 本文内容纯粹转载,转载保留参考链接和作者 参考链接:http://blog.csdn.net/asd237241291/article/detai ...

  8. Ngui分辨率适配

    必备知识点 1.分辨率适配必然是Orthographic Camera 2.Camera下对应的“Size”(图1)属性大小的理解:当前摄像机高度 = Size * 2 * UnityUnit(Uni ...

  9. Android屏幕适配全攻略(最权威的官方适配指导)屏幕尺寸 屏幕分辨率 屏幕像素密度 dpdipdpisppx mdpihdpixdpixxdpi

    Android屏幕适配全攻略(最权威的官方适配指导)原创赵凯强 发布于2015-05-19 11:34:17 阅读数 153734 收藏展开 转载请注明出处:http://blog.csdn.net/ ...

随机推荐

  1. 细说 Web API参数绑定和模型绑定

    今天跟大家分享下在Asp.NET Web API中Controller是如何解析从客户端传递过来的数据,然后赋值给Controller的参数的,也就是参数绑定和模型绑定. Web API参数绑定就是简 ...

  2. Java语言词法分析器

    一.实验目的 通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解.并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法. 编制一个读单词过程,从输入的源程序中,识别 ...

  3. OWIN-WebAPI-Windows Service

    tks: https://github.com/danesparza/OWIN-WebAPI-Service add 2015 0717:http://kb.cnblogs.com/page/5092 ...

  4. 三维数组——与 宝玉QQ群讨论交流之二

    宝玉 12:27:35 这几天看了大部分大家交的作业,发现一个主要问题还是卡在对三维数组的理解上,之前把三维数组类比成三维空间可能会造成误导 宝玉 12:27:45 其实鞠老师解释的很好: 三维数组 ...

  5. Linux进程管理工具——supervisor

    介绍 Supervisord是用Python实现的一款非常实用的进程管理工具 安装 这里用源码 supervisor-.tar.gz .tar.gz cd supervisor- sudo pytho ...

  6. 【HDU 2577】How to Type

    题意 (我做了这题才知道caps lock 锁定大小写后,按一下shift键可以输入相反的大小写.) 这题就是给你只有大小写字母的字符串,求最少多少次按键盘.最后caps lock 必须是关闭的. 分 ...

  7. 【POJ 1416】Shredding Company

    题 题意 给你一个target number,和一个最多六位的数num,让你把数分段,使总和最接近但不大于target number. 如果只有一种方法就输出总和.分段,如果有多种方法,输出rejec ...

  8. list 和 str

    list 和 str 两种类型数据,有不少相似的地方,也有很大的区别.本讲对她们做个简要比较,同时也是对前面有关两者的知识复习一下,所谓“温故而知新”. 相同点 都属于序列类型的数据 所谓序列类型的数 ...

  9. 【BZOJ-1030】文本生成器 AC自动机 + DP

    1030: [JSOI2007]文本生成器 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 3253  Solved: 1330[Submit][Stat ...

  10. POJ1002 487-3279

    Description 企业喜欢用容易被记住的电话号码.让电话号码容易被记住的一个办法是将它写成一个容易记住的单词或者短语.例如,你需要给滑铁卢大学打电话时,可以拨打TUT-GLOP.有时,只将电话号 ...