fix(audio): 타이틀 BGM 재생 위치 수정

- build() 내 반복 호출 대신 세이브 확인 완료 후 1회 재생
This commit is contained in:
JiWoong Sul
2026-01-08 16:19:07 +09:00
parent 4af3830bb5
commit df876cae6d

View File

@@ -133,6 +133,8 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
_savedGamePreview = preview; _savedGamePreview = preview;
_isCheckingSave = false; _isCheckingSave = false;
}); });
// 세이브 확인 완료 후 타이틀 BGM 재생
_audioService.playBgm('title');
} }
} }
@@ -455,8 +457,6 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
return const _SplashScreen(); return const _SplashScreen();
} }
// 항상 프론트 화면 표시 (타이틀 BGM 재생)
_audioService.playBgm('title');
return FrontScreen( return FrontScreen(
onNewCharacter: _navigateToNewCharacter, onNewCharacter: _navigateToNewCharacter,
onLoadSave: _loadSave, onLoadSave: _loadSave,
@@ -478,7 +478,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
), ),
), ),
).then((_) { ).then((_) {
// 새 게임 후 돌아오면 세이브 정보 갱신 // 새 게임 후 돌아오면 세이브 정보 갱신 (BGM은 _checkForExistingSave에서 재생)
_checkForExistingSave(); _checkForExistingSave();
}); });
} }
@@ -554,7 +554,7 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
), ),
), ),
).then((_) { ).then((_) {
// 게임에서 돌아오면 세이브 정보 갱신 // 게임에서 돌아오면 세이브 정보 갱신 (BGM은 _checkForExistingSave에서 재생)
_checkForExistingSave(); _checkForExistingSave();
}); });
} }
@@ -563,7 +563,10 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
void _navigateToHallOfFame(BuildContext context) { void _navigateToHallOfFame(BuildContext context) {
Navigator.of(context).push( Navigator.of(context).push(
MaterialPageRoute<void>(builder: (context) => const HallOfFameScreen()), MaterialPageRoute<void>(builder: (context) => const HallOfFameScreen()),
); ).then((_) {
// 명예의 전당에서 돌아오면 타이틀 BGM 재생
_audioService.playBgm('title');
});
} }
/// 로컬 아레나 화면으로 이동 /// 로컬 아레나 화면으로 이동
@@ -573,8 +576,9 @@ class _AskiiNeverDieAppState extends State<AskiiNeverDieApp> {
builder: (context) => const ArenaScreen(), builder: (context) => const ArenaScreen(),
), ),
).then((_) { ).then((_) {
// 아레나에서 돌아오면 명예의 전당 다시 로드 // 아레나에서 돌아오면 명예의 전당 다시 로드 및 타이틀 BGM 재생
_loadHallOfFame(); _loadHallOfFame();
_audioService.playBgm('title');
}); });
} }
} }