音效、音乐与前后台行为
级别:首作必学。 声音用于确认动作、强调结果和建立情绪。反馈时机与混音,通常比先找很多音效更有价值。
为事件分配声音
| 事件 | 声音设计 | 触发边界 |
|---|---|---|
| 有效翻牌 | 短而轻的确认声 | 规则接受输入之后 |
| 匹配成功 | 清晰但不过长的强调 | 从未配对到已配对的转换 |
| 不匹配 | 温和、可重复的反馈 | 两张牌结果可见时 |
| 胜利或失败 | 明确的局结果 | 进入终态一次 |
声音在 render 被重复调用时不应重复播放。将“状态发生了变化”与“把状态画出来”区分开。
Cocos 最小播放片段
// 组件内,导入 AudioSource、AudioClip,并声明对应 @property。
if (this.soundEnabled && this.audioSource && this.flipClip) {
this.audioSource.playOneShot(this.flipClip, 0.6);
}
前置条件:AudioSource 和音效资源已在编辑器绑定,声音资源已加载。0.6 只是示例音量,实际需要结合素材响度与设备试听调整。音乐和音效分组管理,让玩家能够关闭或调低。
暂停与恢复
切后台时处理音乐和当前音效;恢复时按用户设置和游戏阶段决定是否继续。不能假定所有平台都允许自动播放,实际限制要在微信真机验证。
不要在前台恢复时重新播放胜利音效或叠加多条背景音乐。音频管理应知道当前资源和播放状态,退出场景后释放自己拥有的引用。
成本与质量
为每种音效限制并发和重复频率,避免快速操作时声音堆叠。注意循环音乐接缝、导出格式、包体与解码开销。保留音乐和音效的授权记录,发布前检查署名与商业使用范围。
练习:静音完成一局,再开启声音重复操作,切后台并返回。完成标准:静音不影响规则理解;无爆音、重复背景音乐、错误时机或忽然恢复的已关闭声音。
参考:Cocos 音频系统。