屏幕自适应问题:
private void InitUI()//屏幕自适应办法
{
Vector2 editScreen = new Vector2(593, 327);
Transform canvas = GameObject.Find("Canvas").transform;
Vector2 scaleExchange = new Vector2(Screen.width / editScreen.x, Screen.height / editScreen.y);
for(int i = 0;i < canvas.childCount;i++)
{
RectTransform canvasChildRT = canvas.GetChild(i).GetComponent<RectTransform>();
canvasChildRT.position = new Vector3(scaleExchange.x * canvasChildRT.position.x, scaleExchange.y * canvasChildRT.position.y,0);
canvasChildRT.sizeDelta = new Vector3(scaleExchange.x * canvasChildRT.sizeDelta.x, scaleExchange.y * canvasChildRT.sizeDelta.y,1);
}
}
本文介绍了一种在Unity中实现屏幕自适应的方法,通过调整Canvas子元素的位置和大小,确保UI在不同分辨率设备上显示一致。该方法使用Vector2记录基准尺寸,计算屏幕缩放比例,并应用到RectTransform组件上。
1万+

被折叠的 条评论
为什么被折叠?



