UIFeedbackGenerator
final class HapticManager {
static let shared: HapticManager
func blockPlaced()
func linesCleared(count: Int, isCross: Bool)
func comboCleared(level: Int)
func gameOver()
func highScoreUpdated()
}
| イベント | 振動 |
|---|---|
| blockPlaced | 軽い impact (light) |
| linesCleared (1) | medium |
| linesCleared (2+) | heavy |
| linesCleared (cross) | notification.success |
| comboCleared (level) | 段階的に強く |
| gameOver | notification.error |
| highScoreUpdated | notification.success |
@AppStorage("hapticEnabled") で有効/無効を切替。無効時は何もしない。
| バージョン | 日付 | 変更内容 |
|---|---|---|
| 1.0 | 2026-05-09 | 初版作成 |