文章目录 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 ;
}