using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ScreenAutoAdaptation : MonoBehaviour {
public RectTransform [] bgs_rect, canvas_scale3D;
public CanvasScaler [] canvas_scale2D;
static float x, y, z;
public bool isPcTest;
void Awake ()
{
Resolution resolution = Screen.currentResolution;
//Debug.Log ("X:" + resolution.width + " Y:" + resolution.height);
if (resolution.width > 1920 && resolution.height > 1080) {
x = resolution.width;
y = resolution.height;
z = resolution.height - (resolution.height / 100);
for (int i = 0; i < canvas_scale3D.Length; i++) {
canvas_scale3D [i].sizeDelta = new Vector2 (x, y);
canvas_scale3D [i].localPosition = new Vector3 (canvas_scale3D [i].localPosition.x, canvas_scale3D [i].localPosition.y, z);
}
for (int i = 0; i < canvas_scale2D.Length; i++) {
canvas_scale2D [i].referenceResolution = new Vector2 (x, y);
}
for (int i = 0; i < bgs_rect.Length; i++) {
bgs_rect [i].sizeDelta = new Vector2 (x, y);
}
} else {
x = 1920;
y = 1080;
z = 1080;
}
#if UNITY_EDITOR
/// PC Test
if(isPcTest) {
x = 2436;
y = 1125;
z = 1100;
for (int i = 0; i < canvas_scale3D.Length; i++) {
canvas_scale3D [i].sizeDelta = new Vector2 (2436, 1125);
canvas_scale3D [i].localPosition = new Vector3 (canvas_scale3D [i].localPosition.x, canvas_scale3D [i].localPosition.y, 1100);
}
for (int i = 0; i < canvas_scale2D.Length; i++) {
canvas_scale2D [i].referenceResolution = new Vector2 (2436, 1125);
}
for (int i = 0; i < bgs_rect.Length; i++) {
bgs_rect [i].sizeDelta = new Vector2 (2436, 1125);
}
}
#endif
}
}
UGUI screen auto adaptation by code
最新推荐文章于 2022-07-10 18:32:23 发布