Unity3d + UGUI 的多分辨率适配

原文地址:http://blog.csdn.net/dingkun520wy/article/details/49471789

1、Canvas的属性配置


2、Canvas Scaler的属性配置

Unity3d + UGUI 的多分辨率适配_第1张图片

3、根据不同的屏幕的比例动态修改缩放基准

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;
        }
	}

将脚本挂在画布控件上。


效果


Unity3d + UGUI 的多分辨率适配_第2张图片



你可能感兴趣的:(unity3d,屏幕适配,UGUI)