查看: 2902|回复: 3

[ugui/ngui] NGUI自适应分辨率,黑边自动填充, 无黑边,等比例缩放

[复制链接]

3

主题

30

听众

201

积分

小学生

Rank: 2

升级   0.33%

发表于 2014-4-19 11:31 |显示全部楼层
共享资源可获取更多积分,所有资源仅供参考学习研究!
为了优化,不重叠图片 [编辑话题]

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

0

主题

32

听众

369

积分

小学生

Rank: 2

升级   56.33%

发表于 2014-4-30 14:14 |显示全部楼层
好好 顶顶 顶
回复

使用道具 举报

0

主题

31

听众

203

积分

小学生

Rank: 2

升级   1%

发表于 2014-5-6 17:26 |显示全部楼层
楼主弄的麻烦了 用UIstretch后Style选 Both 改一行代码就ok了
回复

使用道具 举报

0

主题

32

听众

369

积分

小学生

Rank: 2

升级   56.33%

发表于 2014-6-23 09:51 |显示全部楼层
好东西 学习了
回复

使用道具 举报

0

主题

30

听众

209

积分

小学生

Rank: 2

升级   3%

发表于 2017-3-19 19:38 |显示全部楼层
楼主是超人
回复

使用道具 举报

0

主题

30

听众

209

积分

小学生

Rank: 2

升级   3%

发表于 2017-3-19 18:49 |显示全部楼层
好帖就是要顶
回复

使用道具 举报

0

主题

30

听众

201

积分

小学生

Rank: 2

升级   0.33%

发表于 2017-3-19 18:46 |显示全部楼层
很好哦
回复

使用道具 举报

0

主题

30

听众

204

积分

小学生

Rank: 2

升级   1.33%

发表于 2017-3-19 19:09 |显示全部楼层
不错不错
回复

使用道具 举报

0

主题

30

听众

198

积分

问题学生

Rank: 1

升级   99%

发表于 2017-3-19 19:09 |显示全部楼层
LZ真是人才
回复

使用道具 举报

0

主题

30

听众

198

积分

问题学生

Rank: 1

升级   99%

发表于 2017-3-26 17:30 |显示全部楼层
很不错
回复

使用道具 举报

温馨提示:求助请到“Unity技术讨论”版块中发帖,便于集中解决!
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐 上一条 /1 下一条

Unity3D游戏开发联盟(资源共享平台) -Unity3D,Unreal ( 粤ICP备20003399号 )

GMT+8, 2020-9-27 14:29 , Processed in 0.103005 second(s), 35 queries .