# R5 开发提示(26 号对齐 · 工程注意) > 给《剑与声》及后续游戏:下列是工程健壮性,不是交互宪法。交互以 [05-rpg.md](05-rpg.md) 与 [26-audio-interaction-playbook.md](26-audio-interaction-playbook.md) 为准。 > > **已废止**:双击格挡、菜单单击循环+双击确认、iOS 无震动=无反馈、无声敌人只能靠震动格挡。 ## 1. 照抄的健壮性 1. **语音链双通道**:onComplete + 超时兜底,先到一次。场景切换、战斗开场、商店对话都要。 2. **会话令牌**:重开/跳场景 `session++`,旧回调作废。 3. **打断**:状态入口 `stopVoice()`(Floor 会区分 skip vs 作废整链)。 4. **回执**:每次手势 100ms 内 ok/invalid/busy,不依赖震动。 ## 2. 菜单与战斗手势(新口径) - 探索菜单 = 左右滑 + 单击确认(与探索同构,00 §5.4)。 - 战斗下滑 = 逃跑,不设菜单。 - **格挡 = 前摇窗口内再单击**(朝来招方向滑也算)。教学只教单击。 - 保存成功:`sys_saved` + pickup 震 + ok 回执。 ## 3. 末位语境 - 终章不要播「前往下一章」。 - 死端选项不要念不存在的去向。 - 商店按语境选 shop_owned / shop_poor。 ## 4. 震动与无声敌人 - 有声前摇:内容音 `tel_*`;窗口可用轻 `beat` 补充。 - 无声前摇:**系统** danger earcon(不是敌人叫声)+ 回执通道仍出声。防御指令减伤 50%,全平台有效。 - 200ms 去抖。iOS 无震动时格挡仍可靠单击 + earcon。 ## 5. 音频层叠 - 场景 amb 走 sfx 层,勿挂 bgm 层。 - 战斗 BGM 走 bgm 层。整条语音链期间 duck,句间不抬。 - 玩家回合可加等待声,不另切 BGM。 ## 6. 存档 - 每次保存更新 `summary`:「第X章·场景 · LvN · 金币M」。 - 场景切换 / 战斗结算 / 商店 / 菜单保存 / **战败重生**都存。 - 新开游戏二次确认(破坏性)。 - 重进 5 秒内一句复述。 ## 7. 教学战 - HP 锁底 1,要让玩家听到掉血。 - 四步:滑选 → 单击攻击 → 听前摇再单击格挡 → 选防御。 - 成功即时「挡得漂亮。」失败才补救。同一句提示不原样罚听。