support full screen mode

This commit is contained in:
bridge
2025-12-29 23:08:45 +08:00
parent c53932966b
commit 7ee83ebca7

View File

@@ -72,25 +72,8 @@ function fitMap() {
watch(() => [props.screenWidth, props.screenHeight], ([w, h]) => {
if (viewport) {
// 1. Resize Viewport 视口尺寸更新
viewport.resize(w, h, props.worldWidth, props.worldHeight)
// 2. 重新计算适配比例
const fitScale = Math.min(w / props.worldWidth, h / props.worldHeight)
// 3. 设定缩放限制
// 确保 maxScale 始终大于 minScale防止地图极小时崩溃
const minScale = fitScale * 0.8
const maxScale = Math.max(4.0, minScale * 2.0)
viewport.clampZoom({ minScale, maxScale })
// 4. 自动修正缩放
// 如果当前缩放过小(导致黑边),或者因为初始化时的尺寸问题导致缩放不正确,强制恢复到适配大小
if (viewport.scaled < minScale * 0.95) {
viewport.setZoom(fitScale)
viewport.moveCenter(props.worldWidth / 2, props.worldHeight / 2)
}
// 窗口尺寸变化时,直接重新适配地图,确保自动 Zoom 和居中
fitMap()
}
})