UGUI研究院之设置全屏图

rectTransform.sizeDelta = new Vector2(Screen.width,Screen.height);

在UGUI中想设置一张全屏的背景图,但是直接设置 screen.width和screen.height后发现在有些分辨率下还是不能全屏。


把如下脚本挂在需要全屏的Image对象上即可。

using UnityEngine;
using System.Collections;
 
public class UIMaskLayer : MonoBehaviour
{
	void Start()
	{
		int width = Screen.width;
		int height = Screen.height;
		int designWidth = 960;//开发时分辨率宽
		int designHeight = 640;//开发时分辨率高
		float s1 = (float)designWidth / (float)designHeight;
		float s2 = (float)width / (float)height;
		if(s1 < s2) {
			designWidth = (int)Mathf.FloorToInt(designHeight * s2);
		} else if(s1 > s2) {
			designHeight = (int)Mathf.FloorToInt(designWidth / s2);
		}
		float contentScale = (float)designWidth/(float)width;
		RectTransform rectTransform = this.transform as RectTransform;
		if(rectTransform != null){
			rectTransform.sizeDelta = new Vector2(designWidth,designHeight);
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值