효과음 설정하기, 게임 종료 기능(전처리기 지시어)

유승아·2024년 5월 21일

내일배움캠프

목록 보기
47/69

효과음 설정하기

GameManager.cs

private bool PlayedEndPanelSFX = false; // 엔드 판넬 재생 여부 상태
    
    void Update()
    {
        time += Time.deltaTime;
        FolliowTxt();
        if (endPanel.activeSelf == true)
        {
            if (PlayedEndPanelSFX == false)
            {
                SoundManager.Instance.PlaySFX(SFX.EndPanel);
                PlayedEndPanelSFX = true; // 효과음 재생 됐으니 상태 변경
            }

            Time.timeScale = 0.0f;
            EndGame();
        }
        else
        {
            Time.timeScale = 1.0f;
            PlayedEndPanelSFX = false; // 엔드 판넬 꺼지면 효과음 재생되도록 상태 변경
        }
    }

게임 종료 기능

게임 종료 버튼만 만들어놓고 기능을 만들지 않았다.

Application.Quit(); 를 쓰면 게임 종료 기능을 만들 순 있지만
에디터는 게임 종료 기능이 동작하지 않는다고 한다.

그래서 아래와 같이 전처리기 지시어(#if, #else, #endif)를 사용하여
게임 종료 버튼을 눌렀을 때 게임이 종료되는 기능을 구현하였다.

ButtonController.cs

public void GameExit() // 게임 종료
    {
        // Application.Quit()만 있으면 에디터는 종료되지 않아서 전처리기 지시어 사용

#if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
#else
        Application.Quit(); 
#endif
    }

0개의 댓글