文章目錄 SCALE_FIXED_AUTO SCALE_SHOWALL SCALE_FULL SCALE_FIXED_HEIGHT SCALE_FIXED_WIDTH SCALE_NOSCALE SCALE_EXACTFIT SCALE_NOBORDER demo
SCALE_FIXED_AUTO
NO.1 會透,拉伸能解決 官網解釋:應用保持設計比例不變,全屏顯示全部內容(類似showall,但showall非全屏,會有黑邊),根據屏幕長寬比,自動選擇使用SCALE_FIXED_WIDTH或SCALE_FIXED_HEIGH
SCALE_SHOWALL
NO.2 左右上下可能留空白(完全設計寬高比例游戲) 官方:應用顯示全部內容,按照最小比率縮放,等比縮放不變形,一邊可能會留空白,stage的寬高等于設計寬高。
SCALE_FULL
No.3 (不太考慮,改變屏幕比例后需要刷新才跟著變 界面可能會透(要避免需要bgImg和界面拉伸能適配 官方:應用保持設計寬高不變,不縮放不變形,stage的寬高等于屏幕寬高。
SCALE_FIXED_HEIGHT
不太推薦(會透 官方:應用保持設計高度不變,寬度根據屏幕比縮放,stage的高度等于設計寬度,寬度根據屏幕比率大小而變化
SCALE_FIXED_WIDTH
不推薦(會透會糊 官方:應用保持設計寬度不變,高度根據屏幕比縮放,stage的寬度等于設計高度,高度根據屏幕比率大小而變化
SCALE_NOSCALE
不推薦(可能看不全 官方:應用保持設計寬高不變,不縮放不變形,stage的寬高等于設計寬高。
SCALE_EXACTFIT
不推薦(鋪滿會變形 官方:應用根據屏幕大小鋪滿全屏,非等比縮放會變形,stage的寬高等于設計寬高。
SCALE_NOBORDER
不推薦(可能單邊顯示不全 官方:應用按照最大比率縮放顯示,寬或高方向會顯示一部分,等比縮放不變形,stage的寬高等于設計寬高。
demo
const info = Laya. Browser;
if ( Laya. Browser. onPC) { Laya. stage. scaleMode = Laya. Stage. SCALE_SHOWALL ; Laya. stage. screenMode = Laya. Stage. SCREEN_NONE ; Laya. stage. alignV = Laya. Stage. ALIGN_MIDDLE ; Laya. stage. alignH = Laya. Stage. ALIGN_CENTER ;
} else if ( info != null && Number ( info. width) / Number ( info. height) > 1.42 ) { Laya. stage. scaleMode = Laya. Stage. SCALE_SHOWALL ; Laya. stage. screenMode = Laya. Stage. SCREEN_HORIZONTAL ; Laya. stage. alignH = Laya. Stage. ALIGN_CENTER ;
} else if ( info != null && Number ( info. width) / Number ( info. height) < 1.42 ) { Laya. stage. scaleMode = Laya. Stage. SCALE_FIXED_AUTO ; Laya. stage. screenMode = Laya. Stage. SCREEN_VERTICAL ; Laya. stage. alignV = Laya. Stage. ALIGN_BOTTOM ; Laya. stage. alignH = Laya. Stage. ALIGN_CENTER ;
}