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视图中的分辨率大小。

posted @ 2017-09-21 19:56  U3DEngineer  阅读(1405)  评论(0编辑  收藏  举报