21 lines
917 B
Markdown
21 lines
917 B
Markdown
# 04 比例适配:按容器比例重算视口
|
||
|
||
Status: ready-for-agent
|
||
|
||
## 问题
|
||
|
||
viewport 以等比 "contain" 映射到画布:单轴贴边、另一轴多露出世界,因此现在的负 padding 只在目标比例下成立;
|
||
在超宽屏(3440×1440)或竖屏(1080×1920)下会露出多余的世界或裁掉主体。
|
||
|
||
## 步骤
|
||
|
||
1. 测出每档壁纸在 21:9 / 16:9 / 9:16 下的构图偏差(已有对拍矩阵)。
|
||
2. 按容器宽高比在运行时重算 pad(视口是活对象:原地改 pad 后调用 `player.setViewport(当前动画名)` 即生效,
|
||
整体替换 viewport 会丢 `viewport.animations` 并在 spine-player 第 14973 行崩溃)。
|
||
3. 目标:主体完整、底部对齐、无空边。
|
||
|
||
## 验收
|
||
|
||
- 三种比例下都对拍留档,主体不被裁切、底部不悬空。
|
||
- 切换窗口大小时不重建播放器(用 `setViewport`),连续 resize 无内存增长。
|