Unity中UGUI的螢幕自適應

2021-08-20 09:40:36 字數 1349 閱讀 8951

隨著遊戲裝置的不斷增加,螢幕的解析度也越來越多,所以針對不同的螢幕解析度,unity中也提供了解析度自適應的機制。

遊戲中的解析度自適應主要做兩方面的工作:①、調整畫布元件   ②、調整錨點

調整畫布元件:

ugui中canvas scaler元件是調整整體縮放的,有三種模式:

constant pixel size:固定畫素尺寸,在任何解析度下都不會進行縮放拉伸,只能通過改變scale factor才能進行拉伸(如果需要製作螢幕的解析度自適應,不推薦使用);

constant physical size:保持物理上不變的方式,無論場景怎樣變化,應用場景較少。

scale with screen size:根據螢幕尺寸縮放,應用場景較多,主要應用在解析度自適應上,下面是對其引數的詳細講解:

reference resolution:開發時解析度,以後的縮放主要參考物件,一般使用主流解析度如1920x1080、1136x640等;

screen match mode的三種模式:

①、match width or height:他的match屬性是螢幕的寬度和高度對ui大小的影響。

②、expand:縮放不裁剪,當螢幕解析度和設定不同時,選擇變化較小的方向進行縮放。

③、shrink:縮放裁剪,當螢幕解析度和設定不同時,選擇變化較大的方向進行縮放。

我們一般預設選擇就好。

調整錨點:

每個ui都有自己的錨點,他們的錨點是由4個三角形表示,並且還有4個基準點(用來控制ui的大小)

這時button是子控制項,canvas是主控件,當主控件被設定為自動拉伸時,子控制項和錨點的距離(不是比例)將會永遠保持不變。

經過總結得出錨點的設定規律如下:

①、當錨點四個在一起時,ui不會因為視窗的改變而被壓縮變形,但是他可能超出主控件。

②、當錨點四個全部分開時,ui物件會隨著父節點的改變而改變。

③、當錨點左右兩邊分開時,ui物件的高不會隨著父節點的改變而改變,寬會隨著父節點的改變而改變。

④、當錨點上下兩邊分開時,ui物件的寬不會隨著父節點的改變而改變,高會隨著父節點的改變而改變。

當然了,在做自適應螢幕時,根據自己的需要,合理的選擇錨點的位置

Unity筆記 UGUI中Canvas螢幕適配

1 通過recttransform中的anchors和pivot來進行控制項和窗體的布局適配。anchors控制當前panel相對于父窗體的布局位置,可以設定為居中或者左上角,當父窗體拉伸的時候當前panel可以自動布局到正確位置。同時這裡可以設定拉伸,比如主介面一般是全屏拉伸的,這種情況可以在這裡...

Unity筆記 UGUI中Canvas螢幕適配

1 通過recttransform中的anchors和pivot來進行控制項和窗體的布局適配。anchors控制當前panel相對于父窗體的布局位置,可以設定為居中或者左上角,當父窗體拉伸的時候當前panel可以自動布局到正確位置。同時這裡可以設定拉伸,比如主介面一般是全屏拉伸的,這種情況可以在這裡...

Unity中UGUI指令碼新增Button按鈕事件

在場景中新增ugui的button按鈕 然後在在指令碼中寫新增的事件 宣告ui using unityengine.ui 宣告場景的跳轉 using unityengine.scenemanagement 戰士模型 弓箭手模型 gameobject m warrior,m archer 戰士按鈕 弓...