unity_UGUI自适应分辨率

2017-08-15  本文已影响160人  萧非子
![003.jpg](https://img.haomeiwen.com/i4619082/c430392382817a28.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 003.jpg 002.jpg

===============================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
//unity_UGUI自适应,脚本挂载在canvas画布上
public class AdjustorCanvas : MonoBehaviour {

public float standard_width = 1920f;        //初始宽度  
public float standard_height = 1080f;       //初始高度  

void Start ()
{
    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;
    }

}

}

上一篇 下一篇

猜你喜欢

热点阅读