一般來說世界尺寸是唯一的,用來確定遊戲元素的大小和相對位置,由遊戲開發確定。但實際運行的設備屏幕尺寸不一。一套又好又簡單的適配方案從libgdx1.0版本開始com.badlogic.gdx.utils.Viewport
目前有5種適配方式供選擇,你也可以擴展Viewport實現自己的方式。
-
- FitViewport:按比例縮放世界直到有一個方向(上下或左右)達到屏幕尺寸,世界居中,會留黑框。
- FillViewport:按比例縮放直到不留黑框,所以會有部分世界超出屏幕。
-
- StretchViewport:將世界尺寸拉伸到屏幕尺寸,所以不會按比例,不會有黑框,不會超出。
-
- ExtendViewport:先採取Fit形式,再向右或向上擴展世界尺寸充滿屏幕尺寸。這個有點特別,可能會難理解,這種形式的世界尺寸是不唯一的,有一個最小的世界範圍限制,最初的Fit根據這個尺寸進行,然後再增大世界尺寸直至充滿屏幕。這種形式下能呈現所有畫面內容,不會像Fill那樣有超出的部分,也不會像Fit那樣留有黑框因爲擴展的世界尺寸代替了黑框,。
- ScreenViewport:沒有確定的世界尺寸,世界尺寸也是由屏幕尺寸確定,默認屏幕上一個像素對應一個世界尺寸單位,這個比例可以修改。這種形式下不會縮放,各個遊戲元素按其尺寸(size)繪畫,不會有黑框,屏幕尺寸越大,暴露的視野範圍越大。