在做UI功能的时候都要注意对屏幕的自适应 应为不同的手机设备都拥有不同的分辨率
所以自适应的分辨率是必不可少的
先看看Unity 自带的自适应功能
1.是Canvas
2.Canvas自带的Canvas Scaler组件
3.选择具体如图所示
4.是宽和高已上门分辨率为基础
5.下面的Match是已上门为基础 (建议 如果是横屏已高为主 竖屏相反 方形建议在中间看个人需求)
但是在这样设置完后会发现很多的UI的子集部分或者很多UI还是原本大小这样就需要用代码来自适应
代码如下
也可以封装方法来使用
private void Awake()
{
float p1 = (float)Screen.width / 1028f;
float p2 = (float)Screen.height / 600f;
float p = p1 < p2 ? p1 : p2;
transform.localScale = Vector3.one * p;
}