void Start () { float standard_width = 960f; //初始寬度 float standard_height = 640f; //初始高度 float device_width = 0f; //當前設備寬度 float device_height = 0f; //當前設備高度 float adjustor = 0f; //屏幕矯正比例 //獲取設備寬高 device_width = Screen.width; device_height = Screen.height; //計算寬高比例 float standard_aspect = standard_width / standard_height; float device_aspect = device_width / device_height; //計算矯正比例 if (device_aspect < standard_aspect) { adjustor = standard_aspect / device_aspect; } CanvasScaler canvasScalerTemp = transform.GetComponent<CanvasScaler>(); if (adjustor == 0) { canvasScalerTemp.matchWidthOrHeight = 1; } else { canvasScalerTemp.matchWidthOrHeight = 0; } }
效果:canvas