10 KiB
UX Spec: 关卡结算屏(Level Clear)
Status: 新立——义务锁定版(呈现形态随实装批定,视觉终稿以表现层样张为前置,见 P1/OQ4) Author: user + ZCode(UX 文档欠账处置批) Last Updated: 2026-09-27 Platform Target: PC (Steam)——Keyboard/Mouse 主,全部操作纯鼠标可完成(同 battle.md) Template: UX Spec 来源: battle.md OQ8 欠账处置(2026-09-27 用户拍板建档)+ 2026-09-26 GP/钥石去向拍板(battle.md OQ14、06 待办「GP/钥石迁出战斗屏后的展示面接线」)
Purpose & Player Need
关卡结算屏是关卡收束时刻的清算面:末节点 Boss 倒下、本关结束,玩家在这里领到这一关的账——大奖励三件套的兑现、钥石入账的「存档变厚」反馈——然后确认进入下一关。
一句话目的:让「打穿了一关」的收束感落在一笔算得清的账上,并让钥石入账成为驱动下一次冒险的可见钩子。
- 大奖励三件套承载 P2(规划的延迟兑现)的收尾一拍:属性提升看得见、血回满体感直接
- 钥石入账承载元进度驱动力(01-核心循环「存档在变厚」——每杀一个 Boss 都能看到进账)
若此屏缺失或难用:关卡切换沦为无声的场景跳转(收束感缺失);钥石入账不可见(元进度驱动力的呈现链断在最后一环)。
现行载体与目标形态(重要边界)
本屏没有独立新屏:现行与 MVP 目标载体都是关卡收束时刻的覆盖层反馈(HUD框架 P1 行「相邻域屏完整屏形态:MVP 以覆盖层反馈承载」)。本 spec 锁义务与数据锚,不锁视觉形态;完整屏形态归 P1 实装批。
| 时刻 | 现行载体(已实装,代码锚) | 呈现内容 |
|---|---|---|
| 非末关通关 | 中场确认覆盖层(_inter_overlay,main.gd _on_big_reward) |
大奖励文案一行:第 N 层通过 + 生命上限提升(新上限)+ 血回满 + 钥石增量(累计) |
| 末关通关 / 失败 / 放弃 | 冒险结算(复用战斗终局 overlay,main.gd _on_adventure_finished) |
冒险摘要五件事 + 钥石入账明细——相邻域(冒险终结面,非本屏职责) |
Navigation Position
战斗屏 ──胜利(末节点 Boss)──▶ 【关卡结算(level_clear)】
├─ 非末关:确认 → 大奖励兑付 → 下一关开始(→ 关卡画面选路)
└─ 末关通关:→ 冒险结算(冒险摘要,相邻域)→ 返回存档/营地
失败不经本屏(战斗屏失败分支直达冒险终结)。
- 上游屏:战斗屏(胜利终局 overlay「下一节点」确认——battle.md Exit 表)
- 下游屏:关卡画面(下一关开始,选路枢纽——屏级 spec:level-map.md,2026-09-27 建档);末关时改接冒险结算(相邻域屏)
Entry & Exit Points
| 方向 | 触发 | 携带语境 |
|---|---|---|
| 进入 | 战斗屏胜利终局确认 → LevelRunner 判定末节点 Boss 战胜利(level_clear) | 大奖励兑付快照(上限/回满/钥石);GP 账本余额(跨关延续,冒险收束才清零) |
| 离开 | 确认按钮(唯一出口) | 非末关 → 下一关开始;末关 → 冒险结算 |
零自动推进的冒险级停点(main.gd 实装口径):确认前玩家不被推着走,大奖励兑付恰一次(重复宣布被拒——冒险结构 结算受理只算一次)。
Information Hierarchy(义务锁定)
按 2026-09-26 信息归属两铁律(循环口径 + 单一展示面)过闸后的准入清单:
- 大奖励三件套(第一注视点):生命上限提升(含新上限读数)、生命回满、钥石入账(增量 + 累计)——中循环边界事件的兑付账,本屏是它唯一消费口。钥石入账与营地的钥石存量不同义(进账瞬间 vs 存量可用),不构成重复展示
- GP 结算呈现——归属已收口(2026-09-27 用户拍板):GP 不进本屏。战斗总结结算展示获得的资源(目前 = GP),GP 增量+总量归战斗总结结算承载(battle.md OQ14 口径为准;呈现 spec:settlement-summary.md v1.0——本屏旧用「战斗胜利总结结算」系四字变体,随 spec 命名收口退役);关卡画面另设常驻总量。本屏维持现行大奖励文案无 GP
- 清库反馈(预留,随魔法道具 P0):关卡收束清库义务载体 = 魔法道具背包;现行切片无库存容器,义务挂账、本批不设计呈现(battle.md Exit 表同源)
禁入清单(两铁律推导):战斗小循环数据(结算明细、状态效果——留在战斗屏);GP(呈现位已拍板 = 战斗总结结算 + 关卡画面常驻,见 06);营地柜台全量(解锁清单/定价——不陈列);冒险摘要五件事(末关时由相邻域冒险结算屏承载,本屏不重复)。
States & Variants
| State | Trigger | What Changes |
|---|---|---|
| 非末关通关(默认态) | level_clear 且非末关 | 大奖励兑付呈现 → 确认 → 下一关开始 |
| 末关通关 | level_clear 且末关 | 直通冒险结算(摘要 + 钥石入账明细)——本屏收缩为过场确认与否随实装批定(OQ2;现行 = 直通) |
| Boss 入口语境 | 击杀 Boss(恒为本屏入口时刻) | 入口演出归战斗屏(紫赤影子族,battle.md §States);本屏不另设 Boss 演出 |
Interaction Map
| 组件 | 动作 | 输入 | 即时反馈 | 结果(经组合根) |
|---|---|---|---|---|
| 确认按钮 | 接受结算、推进 | 左键 | 按钮下压 | 非末关:AdventureRunner 推进下一关;末关:转冒险结算 |
| 结算文案 | 只读 | — | — | 读数 = big_reward_paid 载荷快照(despawn 前捕获纪律,同 battle.md 数据锚) |
零新增交互范式:复用 label + 确认按钮(现行 _inter_overlay 即此形态)。
Data Requirements
| Data | Source System | Read / Write | Notes |
|---|---|---|---|
| 大奖励兑付快照(hp_bonus / new_max_hp / keystone_gained / keystone_total) | 冒险结构 big_reward_paid 载荷 | Read | 载荷自包含、despawn 前捕获(战斗结算 快照纪律同族) |
| 冒险摘要(五件事) | 冒险结构 adventure_finished 载荷 | Read | 末关分支数据锚(相邻域冒险结算屏消费) |
| GP 账本 | 冒险结构 GP 冒险账本 | — | 不进本屏(2026-09-27 拍板:GP 呈现归战斗总结结算〔增量+总量,spec:settlement-summary.md〕与关卡画面〔常驻总量〕,接线登记 06);账本本身跨关延续、冒险收束清零 |
| 钥石入账 | 元进度 settle_adventure | Write(相邻域) | 唯一写档点不变(冒险收束时结算,main.gd _on_adventure_finished)——本屏只呈现进账读数,不写账 |
| 清库反馈 | 魔法道具(P0 后) | Read | 预留——载体 = 魔法道具背包,随 P0 落地补设计 |
Accessibility
沿用 HUD框架「可访问性基线」节全量(对比/色弱/字号/闪烁/减动效/纯鼠标/中文字体)——本屏无新增承诺。结算数字是本屏信息主载体,遵守同一字号下限与对比硬指标。
Acceptance Criteria
- 非末关通关必经本屏确认,零自动推进;大奖励兑付恰一次(重复宣布被拒)
- 大奖励三件套读数可见且与载荷一致(上限提升/新上限/血回满/钥石增量+累计)
- 末关通关分支正确转接冒险结算,冒险摘要五件事完整
- 确认前冒险状态冻结(无后台推进、无战斗事件串扰)
- 呈现遵循 HUD框架 可访问性基线(对比 ≥4.5:1、字号下限、纯鼠标可完成)
- 清库反馈:随魔法道具 P0 落地补验收(现行切片无库存容器,义务挂账)
Open Questions
- GP 增量展示面归属——已收口(2026-09-27 用户拍板):战斗胜利出现战斗总结结算、展示获得的资源(目前只有 GP);战斗失败出现冒险总结结算、确认后回存档首页——GP 总量+增量归战斗胜利总结结算(battle.md OQ14 口径为准);06 归属行「结算画面批 GP 增量」系登记偏差已同批修正。本屏不承载 GP,无遗留。两面呈现 spec 已出生:settlement-summary.md v1.0(2026-09-30)
- 末关分支形态:末关通关时本屏收缩为过场确认 vs 直通冒险结算(现行 = 直通)——随完整屏形态实装批一并定
- 「结算画面」口径——已收口(2026-09-27,随 GP 拍板一并落定):「钥石 = 结算画面 + 营地」中「结算画面」= 冒险总结结算(冒险摘要 + 钥石入账明细);大奖励屏的钥石增量+累计 = Boss 层进账呈现——两处并存系「进账时刻 vs 收束明细」不同义,不构成重复展示,维持现状。「结算画面」单用为两义词(battle.md 旧语境指战斗面),已随 settlement-summary.md 命名收口退役,叙述用全称
- 视觉终稿:以表现层样张过审为前置(06 待办登记);本 spec 的 AC 为功能性判据,不含视觉终稿判据
- 清库反馈呈现:载体 = 魔法道具背包,随魔法道具 P0 落地设计(义务挂账,本批不设计)
修订记录
| 日期 | 改动 |
|---|---|
| 2026-09-27 | 初稿(UX 文档欠账处置批,用户拍板建档):义务锁定版——大奖励三件套/钥石入账/清库反馈预留成文;现行载体(_inter_overlay 与 BattleEndOverlay 复用)与代码锚如实登记;GP 归属两处登记不一致挂 OQ1,拍板前不新增 GP 呈现义务 |
| 2026-09-27 | GP 归属拍板对齐批(用户口径:战斗胜利→战斗总结结算展示获得资源〔目前 GP〕;战斗失败→冒险总结结算→确认回存档首页):OQ1 收口——GP 总量+增量归战斗胜利总结结算(battle.md OQ14 为准),本屏不承载 GP;OQ3 收口——「结算画面」指认 = 冒险总结结算,大奖励屏钥石进账 + 冒险总结结算明细两处并存维持;信息归属 GP 移入禁入清单;Data Requirements GP 行改零访问;06 归属行同步修正 |
| 2026-09-27 | 关卡画面 UX spec 建档联动:§Navigation Position 下游屏行挂 level-map.md 屏级 spec 指针。零机制改动 |