NGUI自适应分辨率,黑边自动填充, 无黑边,等比例缩放
为了优化,不重叠图片 [编辑话题]1,给背景添加一个UIstretch, .将style选择最后一个FitInternalKeepingRatio, 将Intial Size设置为你当前屏幕的大小
2,再在背景下创建四个边的背景, 然后各自选择他们的Pivot , 上边图选择居下,下边图选择居上,左图边选择居右,右边图选择居左。
3,给这四个添加一个UIstretch, .将style选择为both,
4. 然后把下面这个脚本绑定到背景上,传上参数,
using UnityEngine;
using System.Collections;
public class FillBackGround : MonoBehaviour {
public UISprite backGround;
public UIStretch upBG;
public UIStretch downBG;
public UIStretch leftBG;
public UIStretch rightBG;
private float _bgWidth;
private float _bgHeight;
// Use this for initialization
void Start () {
//获取背景的宽和高
_bgWidth = backGround.width;
_bgHeight = backGround.height;
//填充背景上边
upBG.transform.localPosition = new Vector3(0, _bgHeight/2,0);
upBG.relativeSize.y=0.5f;
upBG.borderPadding.y = _bgHeight / 2;
//填充背景下边
downBG.transform.localPosition = new Vector3(0, -_bgHeight / 2, 0);
downBG.relativeSize.y = 0.5f;
downBG.borderPadding.y = _bgHeight / 2;
//填充背景左边
leftBG.transform.localPosition = new Vector3(-_bgWidth / 2, 0, 0);
leftBG.relativeSize.x = 0.5F;
leftBG.borderPadding.x = _bgWidth / 2;
//填充背景右边
rightBG.transform.localPosition = new Vector3(_bgWidth / 2, 0, 0);
rightBG.relativeSize.x = 0.5F;
rightBG.borderPadding.x = _bgWidth / 2;
}
// Update is called once per frame
}
效果运行效果如下
图片:1.png
好好 顶顶 顶 {:5_380:}楼主弄的麻烦了 用UIstretch后Style选 Both 改一行代码就ok了 好东西 学习了 楼主是超人 好帖就是要顶 很好哦 不错不错 LZ真是人才 很不错
页:
[1]