unity中UI的屏幕自适应代码
public void ScreenUISelfAdptation(Transform scaleUI)
{
float widthrate = UnityEngine.Screen.width / 1920.0f;
float heightrate = UnityEngine.Screen.height / 1080.0f;
float postion_x = scaleUI.GetComponent<RectTransform>().anchoredPosition.x * widthrate;
float postion_y = scaleUI.GetComponent<RectTransform>().anchoredPosition.y * heightrate;
scaleUI.localScale = new Vector3(widthrate, heightrate, 1);
scaleUI.GetComponent<RectTransform>().anchoredPosition = new Vector2(postion_x, postion_y);
}
UnityEngine.Screen.width和UnityEngine.Screen.height是你要发布的屏幕分辨率大小。
1920.0f; x 1080.0f;是你制作UI时Game视图中的分辨率大小。