システムサウンド再生 + activePlayers 配列
| イベント | サウンドファイル |
|---|---|
| blockPlaced | Tock.caf(システム音) |
| lineCleared | Tink.caf |
| combo | paymentSuccess.caf |
| gameOver | SIMToolkitGeneralBeep.caf |
| rotate | key_press_click.caf |
final class SoundManager {
static let shared: SoundManager
private var activePlayers: [AVAudioPlayer] = [] // ★強参照保持
func play(_ event: SoundEvent)
// - 音量0.8、UserDefaults で有効/無効
// - 再生終了時にactivePlayersから除去
}
init で全システムサウンドを AVAudioPlayer(contentsOf:) でプリロードし、再生時は player.currentTime = 0 で即座に再生。遅延ペナルティ回避。
| バージョン | 日付 | 変更内容 |
|---|---|---|
| 1.0 | 2026-05-09 | 初版作成 |