앱 만들기/게임

유니티 - 종료 팝업창 만들기

나도 처음이야 2019. 8. 26.

 

 

안드로이드 폰에서 백키를 눌렀을때 위 처럼, 팝업 창이 뜨고 실제로 앱이 종료되거나 다시 게임으로 돌아가도록 만들어 보자.

 

1. 하기 처럼 UI 로 Panel 을 구성하고 그 안에 Yes, No 버튼을 만든다.

   안드로이드에서는 백업 팝업을 기본 구성으로 자동으로 띄울 수도 있다. (직접 만들 수도 있고)

   하지만, 유니티에서는 팝업 함수가 따로 존재하는 것은 아닌것 같으니 직접 UI를 만드는 것이 더 빨라 보인다.

2. UI 구성이 완료 되었으면 실제 동작하게 만들자.

   먼저 게임 실행 중, 백 키를 누르면 위의 종료패널이 Display 되도록 코딩하자.

   필자는 GameManger 의 Update() 함수에서 실시간으로 키값을 체크 하겠다.

 

 // Update is called once per frame
    void Update()
    {
        //안드로이드 백키 종료      
       // if (Application.platform == RuntimePlatform.Android)
      if (Input.GetKeyDown(KeyCode.Escape))  // 백키가 눌렸을때
            {
                Time.timeScale = 0f; // 먼저 시간을 정지시킨다.

                // (게임내 시간으로 게임 시간이 정지된다. 애니메이션 , 게임구동 관련 시간)

                // 하지만 Update() 함수는 예외임. Update() 안에서 그림을 그린다면 이것은 게임시간과 별개로 동작함. 
                ExitPanel.SetActive(true);    // Exit 팝업창을 띄운다. 디폴트는 false 로 화면에 보이지 않는 상태이다.    
            }
    }

 

 

3. 이제 종료 패널이 화면에 보인다. Yes 와 No 버튼을 동작시키자.

   버튼 동작 역시 GameManager.cs 파일에서 구현한다.

 

     public void ExitYes()  
    {
        Application.Quit();   // 앱을 종료
    }
    public void ExitNo()
    {
        Time.timeScale = 1f; // 먼저 시간을 다시 가도록 원복 
        ExitPanel.SetActive(false); // Exit 팝업창을 지운다.
    }

   

4.  UI 버튼 컴포넌트와 코드와 연결하기.

          Yes 버튼을 ExitYes() 와

          No 버튼을 ExitNo() 와 연결.

 

5. 폰에서도 정상적으로 구동이 잘 되는것을 확인한다.

   끝 :)

 

반응형

댓글