0
点赞
收藏
分享

微信扫一扫

【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)


  • ​​GitHub开源地址​​
  • ​​Unity3D插件分享​​
  • ​​简书地址​​
  • ​​我的个人博客​​
  • ​​QQ群:1040082875​​


大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。

一、前言

前段时间分享了UGUI的每个组件的属性和使用方法,比如Text、Button、Image、Toggle、InputField、ScrollView等等。

接着分享了UGUI的一些原理,比如说UGUI的渲染模式、UGUI的缩放计算、UGUI的描点定位、UGUI的自动布局等等。

相信大家看完后会对UGUI有一个比较全面的认识了。

下面,就继续分享UGUI的UI组件进行应用的实例。

二、Canvas及CanvasScaler的属性配置

【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)_unity

【Unity3D-UGUI应用篇】(六)屏幕自适应(多分配率适配)_ugui_02

三、代码实现

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



举报

相关推荐

0 条评论