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);
}
}
}