【Unity3D】【NGUI】屏幕自适应

原文地址:http://blog.csdn.net/u012091672/article/details/17040985

作者:四爷如京


看过一些文章,大多数都用UIStretch。说实话我并不喜欢用这个脚本。

我一直对那些在屏幕适应上出现问题的人推荐使用UIRoot的ManualHeight。

今天提供一个脚本,临时写的,我赶脚挺好用。

使用注意:

1、和策划制定好开发时分辨率。这很重要,要保证所有UI都在同样的分辨率下制作。

2、把我这个脚本挂在UIRoot上。UIRoot的Scaling Style修改为FixedSize。

3、aspectRatioHeight、aspectRatioWidth分别为开发时的高和宽。

4、每个UIRoot都需要调整ManualHeight到和策划制定的高度。

5、Unity3D的Game窗口,调整到相应的分辨率。

附:写在Update里面完全为了方便。你可以根据自己的需求放在Start里面

[csharp] view plaincopy
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. [ExecuteInEditMode]  
  5. [RequireComponent(typeof(UIRoot))]  
  6. public class SZUIRootScale : MonoBehaviour  
  7. {  
  8.     public int aspectRatioHeight;  
  9.     public int aspectRatioWidth;  
  10.     private UIRoot root;  
  11.   
  12.     void Awake ()  
  13.     {  
  14.         root = NGUITools.FindInParents<UIRoot> (this.gameObject);  
  15.     }  
  16.       
  17.     void Update ()  
  18.     {  
  19.         float defaultAspectRatio = aspectRatioWidth * 1f / aspectRatioHeight;  
  20.         float currentAspectRatio = Screen.width * 1f / Screen.height;  
  21.         if (defaultAspectRatio > currentAspectRatio) {  
  22.             int horizontalManualHeight = Mathf.FloorToInt (aspectRatioWidth / currentAspectRatio);  
  23.             root.manualHeight = horizontalManualHeight;  
  24.         } else {  
  25.             root.manualHeight = aspectRatioHeight;  
  26.         }  
  27.     }  
  28. }  
阅读更多
个人分类: Unity3D
想对作者说点什么? 我来说一句

NGUI屏幕自适应

2014年01月06日 362KB 下载

NGUI屏幕自适应所需文件

2014年06月10日 334B 下载

没有更多推荐了,返回首页

不良信息举报

【Unity3D】【NGUI】屏幕自适应

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭