修改弃暗投明音效
广告
{{v.name}}
📋 原始需求(task.md):
修改弃暗投明音效为胜利音效tada
修改弃暗投明音效为胜利音效tada
弃暗投明弹出的是"成为亿万富豪"的圆满结局,却播放下行警报式的 game over 音,情绪完全相反。需要为它单独配一段胜利号角 tada。
问题分析
项目所有音效都由 Web Audio 实时合成,没有外部音频文件,因此不能靠换素材解决,只能新增一段合成音,并让结束流程按结局选择音效。
解决方案
- 新增
playTada():C5 → E5 → G5 → C6(523 / 659 / 784 / 1047 Hz)四音上行号角,起始于 0 / 0.14 / 0.28 / 0.44 秒,末音拉长到 0.8 秒收尾 - 每个音由锯齿波 + 方波 + 轻微失谐的三角波(×1.006)叠加,模拟铜管音色
endGame(type)中按结局分流:setTimeout(type === 'quit' ? playTada : playGameOver, 220),裁满 440 人仍播原来的下行警报音
验证
用伪造的 AudioContext 抓取所有振荡器:弃暗投明时产生 12 个振荡器,音高为 523 / 659 / 784 / 1047,起始时间 0 / 0.14 / 0.28 / 0.44;裁满 440 时末尾 4 个方波为 523 / 415 / 349 / 262,且 440 次盖章音效照常触发,无报错。