Unity Canvas UGUI 屏幕适配问题

https://gameinstitute.qq.com/community/detail/120693
在开发中,遇到一个很奇怪的问题,当分辨率改变的时候,UI的Position 根据width计算的话会出错的问题,原因是Canvas进行缩放了 但width的数值并没有改变需要自己手动算。

Unity Canvas UGUI 屏幕适配问题_第1张图片

var referenceResolution = m_GlobalWindowManager.GetComponent<CanvasScaler>().referenceResolution;
var scaleX = (float)Screen.width / referenceResolution.x;

// ...
float cardWidth = m_Items[0].RectTransform.rect.width * scaleX;

完美解决☺

你可能感兴趣的:(unity3d)