안드로이드 폰에서 백키를 눌렀을때 위 처럼, 팝업 창이 뜨고 실제로 앱이 종료되거나 다시 게임으로 돌아가도록 만들어 보자.
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. 폰에서도 정상적으로 구동이 잘 되는것을 확인한다.
끝 :)
'앱 만들기 > 유니티2D 게임 만드는 방법' 카테고리의 다른 글
유니티 - 오브젝트 수평으로 이동하기. (2) | 2021.05.25 |
---|---|
유니티-Can't add script component ... because the script class cannot be found. 에러 (4) | 2021.03.11 |
유니티 BGM Audio Clip 설정하기 (0) | 2019.08.25 |
레이어탭 이미지 자물쇠가 없어지지 않을때... (2) | 2019.08.22 |
룰렛 게임 만들기. (2) | 2019.08.04 |
댓글