πŸ•ΈοΈ ν”Œλ ˆμ΄ νŒμ—… λ²„νŠΌ - FRONTENDBOOTCAMP-13th/JS-07-7zzang-Arcade GitHub Wiki

ꡬ뢄

  • λ‚ μ§œ : 2025.05.21
  • μ’…λ₯˜ : 버그
  • μ€‘μš”λ„ : πŸ”΄

1. μ½”λ“œ 첨뢀

  window.addEventListener('DOMContentLoaded', () => {
  const game = new MoleGame();
  const infoPopup = document.getElementById('infoPopup');

  // clickStart λ²„νŠΌ 클릭 μ‹œ νŒμ—… λ„μš°κΈ° + λ²„νŠΌ 
  document.getElementById('clickStart')?.addEventListener('click', () => {
    window.parent.postMessage({ type: 'STOP_BGM' }, '*');
    game.hide('introScreen');
    game.show('gameScreen');
    infoPopup?.classList.remove('hidden');

    if (!(window as any).soundMuted) {
      game.playBgm('/sounds/smash-bgm.mp3');
    }

    setTimeout(() => {
      const bgmOffBtn = document.getElementById('bgmOffBtn');
      const bgmOnBtn = document.getElementById('bgmOnBtn');

      bgmOffBtn?.addEventListener('click', () => {
        (window as any).soundMuted = true;
        game.stopBgm();
      });

      bgmOnBtn?.addEventListener('click', () => {
        (window as any).soundMuted = false;
        game.playBgm('/sounds/smash-bgm.mp3');
      });
    }, 0);
  });

  // ESC ν‚€λ‘œ νŒμ—… λ‹«κΈ° + κ²Œμž„ μ‹œμž‘
  document.addEventListener('keydown', e => {
    if (e.key === 'Escape' && !infoPopup?.classList.contains('hidden')) {
      infoPopup?.classList.add('hidden');
      game.startGame();
    }
  });
});

2. 문제 ν•΄κ²° μˆœμ„œ

  1. κΈ°μ‘΄ 흐름:
    • 인트둜 ν™”λ©΄ β†’ 메인 BGM μœ μ§€
    • μΈκ²Œμž„ μ§„μž… μ‹œ 메인 BGM β†’ μΈκ²Œμž„ BGM으둜 λ³€κ²½
  2. 문제 λ°œμƒ:
    • νŒμ—… μ½”λ“œ μΆ”κ°€ ν›„ BGM μ „ν™˜μ΄ κΌ¬μž„
    • μ˜ˆμƒλŒ€λ‘œ μΈκ²Œμž„ BGM으둜 λ³€κ²½λ˜μ§€ μ•ŠμŒ
    • νŒμ—… λ²„νŠΌμ˜ ON/OFF κΈ°λŠ₯도 정상 μž‘λ™ν•˜μ§€ μ•ŠμŒ
  3. μˆ˜μ • μž‘μ—…:
    • BGM μ „ν™˜ 둜직 정리: κΈ°μ‘΄ 흐름을 λ‹€μ‹œ 점검
    • νŒμ—…μ΄ 열릴 λ•Œ window.parent.postMessage({ type: 'STOP_BGM' }) μΆ”κ°€ν•˜μ—¬ 메인 BGM을 쀑지
    • μΈκ²Œμž„ μ§„μž… μ‹œ λ‹€μ‹œ μΈκ²Œμž„ BGM이 μ •μƒμ μœΌλ‘œ μ‹œμž‘λ˜λ„λ‘ μ„€μ •
    • νŒμ—… λ²„νŠΌ ON/OFF κΈ°λŠ₯ 정상 μž‘λ™ 확인
  4. κ²°κ³Ό:
    • νŒμ—…μ΄ BGM을 μ€‘μ§€ν•˜κ³ , μΈκ²Œμž„ μ§„μž… μ‹œ μΈκ²Œμž„ BGM이 μ •μƒμ μœΌλ‘œ μž¬μƒλ¨
    • νŒμ—… λ²„νŠΌ ON/OFF κΈ°λŠ₯도 정상 μž‘λ™