zoukankan      html  css  js  c++  java
  • 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 博客文章版权属于作者,受法律保护。未经作者同意不得转载。

  • 相关阅读:
    蚂蚁金服SOFAMesh在多语言上的实践
    2018第48周日
    git只拉取github部分代码的方法
    深入理解brew link命令
    openssl/ssl.h file not found
    react热加载失败
    pycharm批量清楚pyc、$py.class文件
    Hash history cannot PUSH the same path; a new entry will not be added to the history stack
    JavaScript indexOf() 方法,获取元素的位置;Object.keys()获取对象的所有key的数组
    JavaScript删除数组里的某个元素
  • 原文地址:https://www.cnblogs.com/123ing/p/3703966.html
Copyright © 2011-2022 走看看