【Unity筆記】UGUI中Canvas屏幕適配


1、通過RectTransform中的AnchorsPivot來進行控件和窗體的布局適配。

Anchors控制當前Panel相對於父窗體的布局位置,可以設置為居中或者左上角,當父窗體拉伸的時候當前Panel可以自動布局到正確位置。同時這里可以設置拉伸,比如主界面一般是全屏拉伸的,這種情況可以在這里處理。

Pivot是當前控件坐標系的錨點位置,通過代碼調整坐標位置的時候需要注意這個的設置。

2、通過CanvasScaler的設置來進行多分辨率適配。
UiScaleMode一般選擇Scale With Screen Size,並設置好設計分辨率。其他兩個選項都是固定像素大小。

Screen Match Mode中一般選擇Expand,它可以保證ui中的所有元素都在屏幕內部。 相對比的一個選項是Shrink,它可以保證不留空白邊。

3、多分辨率的思路是Scaler中選擇Expand保證所有ui元素在屏幕內部。少部分界面,如主界面、戰斗界面等根據需要設置Anchors中的全屏拉伸。注意,這里的拉伸的含義僅僅是設置Panel的寬、高,並不影響子控件的縮放,但是會影響其布局。

4、注意,如果是Prefab加載ui的時候,設置父節點使用transform.SetParent(root, false) 這個函數調用,而不要直接設置parent屬性,否則會存在RectTransform大小或坐標錯誤的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM