很多做移动终端开发的童鞋都可能遇到一个问题,就是如何自适应
其实NGUI已经能帮我们实现,下面就告诉大家怎么整这个自适应。
1,create a new ui
2,uiroot下添加uipanel(script)
3,camera的size设置为美术给你的图的size(比如美术给你的是960*640,size=960),
4,panel添加uistretch(script),其中的style设置为both,并将relative size的x和y都设为960(同上的道理,明白?)
5,再在panel下add一个sprite(最好是960*640)的背景图,其中transform的s一定注意要是1,不能再放大了。
以上就ok了
注明下:
uistretch的缩放NGUI提供了5种,

public enum Style
    {
        None,
        Horizontal,
        Vertical,
        Both,
        BasedOnHeight,
        BasedOnWidth,
    }
我自己加了一种BasedOnWidth,其实代码很简单,如下:

else if(style == Style.BasedOnWidth)
            {
                localScale.x = relativeSize.x * screenWidth;
                localScale.y = relativeSize.y * screenWidth;
                localScale.z = localScale.x;
            }
是不是很简单?
大功告成,希望对大家有帮助!

补充下,还有种方法比上面要好点。
camera的size设置为1
uistretch的relative的size设置为x=1/960f,y=1/960f
这样你的资源的就不用缩放了

自己实践补充

if (style == Style.BasedOnHeight)
            {

//****** NGUI默认处理方式 **********
                //localScale.x = relativeSize.x * rectHeight;
                //localScale.y = relativeSize.y * rectHeight;

//****** 自己稍做修改结果  发现适用范围更广泛**********
                localScale.x = relativeSize.x * rectHeight-relativeSize.x * rectHeight*0.25f;
                localScale.y = relativeSize.y * rectHeight-relativeSize.x * rectHeight*0.25f;
            }

转载地址:http://game.ceeger.com/forum/read.php?tid=5314

[转] NGUI自适应的更多相关文章

  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. 陷入了一个NGUI自适应的一个坑

    自己对anchor的乱用.造成自己深陷anchor来搞自适应 耽误了太多的精力,最终也是回到正轨的途径 这期间浪费的太多精力了. 沉迷一件错误的事情过久 就 要果断的跳出 调整 . 但凡让自己觉得别扭 ...

  4. NGUI自适应分辨率,黑边自动填充, 无黑边,等比例缩放

    原地址:http://game.ceeger.com/forum/read.php?tid=16571 1,给背景添加一个UIstretch, .将style选择最后一个FitInternalKeep ...

  5. ngui自适应

    增加UIROOT using UnityEngine; namespace Com.Xyz.UI { [ExecuteInEditMode] [RequireComponent(typeof(UIRo ...

  6. NGUI之UIRoot——屏幕的自适应分辨率的计算

    //原来写在其他博客上的东西,搬迁 预备知识: 要明确的三个概念: 设计分辨率:在编辑器上开发UI使用的分辨率.我们所有的UI都是在这个分辨率下设计制作的. 显示区域分辨率:设备上所显示的UI区域在编 ...

  7. [Unity3D]NGUI用Sprite动画和屏幕自适应做游戏开始场景

    我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景, ...

  8. NGUI屏幕自适应

    NGUI确实是非常棒的一个做界面的插件,比起U3D自带的GUI要好很多,当然也有一些不好之处,毕竟什么都不可能那么完美. 最近在用Unity写游戏使用NGUI遇到了一个很多人都在遇到的问题,就是关于屏 ...

  9. NGUI 屏幕自适应

    雨松MOMO 2014年05月04日 于 雨松MOMO程序研究院 发表  现在用unity做项目 90%都是用NGUI,并且我个人觉得NGUI应该算是比较成熟的UI插件,虽然他也存在很多问题,但是至少 ...

随机推荐

  1. Linq to Sql 动态条件另类实现方法

    其实我也不知道是不是另类的,反正我找了好久园子里和其他资源. 无外乎两类 1,构造动态表达式的,这个真心繁琐,我是懒人,不想弄表达式. 2,拼SQL语句,直接执行,这个和ado.net就没有啥区别了. ...

  2. Sword protobuf学习三

    #include <iostream> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> ...

  3. 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。

    题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在ACSII码范围内. 输出描述: 输出范围在( ...

  4. MAC配置Xcode的Cocos2d-x环境

    Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00003988 1.Mac配置环境变量,即编辑命令: o ...

  5. C艹复合类型(字符串)

    在C艹中有两种字符串形式, 一种是C-风格, 另一种是C艹风格的 初始化: char str[10] = {'a', 'c', 'd', '\0'};char str[20]= “aaa”; stri ...

  6. qualcomm lk gpio

    关于高通平台lk中控制gpio的记录 http://blog.csdn.net/loongembedded/article/details/72834761 http://blog.csdn.net/ ...

  7. Maven 构建生命周期

    构建生命周期是什么? 构建生命周期阶段的目标是执行顺序是一个良好定义的序列.这里使用一个例子,一个典型的 Maven 构建生命周期是由下列顺序的阶段: 阶段 处理 描述 准备资源 资源复制 资源复制可 ...

  8. e794. 创建JSlider组件

    // Create a horizontal slider with min=0, max=100, value=50 JSlider slider = new JSlider(); // Creat ...

  9. 超实惠:99元阿里云服务器1核2G内存40G硬盘(SSD)

    阿里云推出拼团购服务器活动,99元即可购买阿里云1核2G内存40G硬盘(还是SSD哦)云服务器,赶快加入来拼团吧!阿里云1核2G云服务器ECS:1年99元.2年189元.3年279元! 活动地址 一. ...

  10. Volley的Get、Post方式(JsonObjectRequest、StringRequest)以及Volley获取图片的3种方式

    activity_main.xml 里面什么也没有 AndroidManifest.xml(重点是android:name="com.example.volley.MyApplication ...