Unity—UGUI

UGUI在处理自适应Canvas Scaler。

我们要做的就是3DCamera的自适应。把下面这个脚本挂在Main Camera上即可。

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

rectTransform.sizeDelta = new Vector2(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、付费专栏及课程。

余额充值