好久沒有更新博客了,藍廋啊。
今天寫一寫關於GripLayoutGroup組件的屏幕適配問題,以在ARPG游戲中常用的經驗條適配來舉例子,以此來加深自己的記憶,以便在下次需要制作該功能時能夠快速完成。
以上是效果截圖。
一,制定標准寬高
二,了解GridLayoutGroup組件
在該組件所在物體的子物體成為內容
pading :該組件下的內容相對於該組件的上下左右縮進
cell size:內容的大小
spacing:內容之間的距離
三 , 計算方法
在本案例中,通過高度來適配屏幕。
為了讓進度條適配,我們需要計算GridLayoutGroup組件中cell size的大小,計算x的值即可。
計算x值的方法是: x = (1334 - 70(左邊exp圖片的大小) - 6 * 9 (spacing的x的值為6,總共有9個間隙)) / 10(有10個子物體);
我們不能通過1280 替換1334 進行計算,因為在真機上屏幕的高度已經發生了縮放,所以我們需要計算UI空間下的真實的寬度,計算公式: 標准高/實際高 = 計算使用的寬度 / 實際寬;
所以 計算使用的寬度 = 標准高/實際高 * 實際寬;
得到實際高和實際寬的法:Screen.Height Screen.width
標准寬高是 1334 x 756
在真機上,屏幕的大小是1280 x 800
計算使用的寬度 w= 756 / 800 *1280;
x = (w - 70 - 54) /10;
得到的值是x = 108.56
這個知識點稍難理解,自己拿出草稿紙算一算。