유니티/에러 또는 팁

유니티 에디터에서 게임을 종료하고 싶은 경우

monstro 2024. 6. 3. 01:35
728x90
반응형

게임을 만들다 보면 특정 상황에서 게임을 종료해야 하는 경우가 있습니다.

예를 들어, esc키를 누른다거나 도착지점에 입장을 했다거나 플레이어의 체력이 0이 된 경우가 그런 경우입니다.

 

그러기 위해서 보통

public void QuitGame() {
    Application.Quit();
}

 

위와 같은 형태로 사용하는 경우가 많습니다.

하지만 위와 같은 코드는 게임을 배포한 후에는 문제없이 동작하지만

유니티 에디터 상에서 Play 모드일때는 동작하지 않는 경우가 있습니다.

 

이런 경우에는 다음과 같이 작성해주시면 되겠습니다.

public void QuitGame() {
    #if UNITY_STANDALONE
        Application.Quit();
    #endif
    #if UNITY_EDITOR
        UnityEditor.EditorApplication.isPlaying = false;
    #endif
}

 

#if 지시문을 통해 

배포된 유니티 엔진 기반 게임이면 그대로 종료하고

유니티 에디터라면 에디터의 플레이 모드를 종료할 수 있게 해줍니다.

 

위의 코드를 사용하면 일일이 중지 버튼을 누르지 않아도 유니티 에디터 상에서 게임을 종료할 수 있고

또 게임 종료 함수가 정상적으로 호출되는지 확인할 수도 있습니다. 

728x90
반응형