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