게임에는 반드시 설정 버튼이나 일시 정지를 통해 게임을 중단할 수 있어야 한다.
게임을 중단했을 때, 시간도 멈춰야 하며 게임 플레이 화면이 터치되서도 안된다.
유니티에서 화면은 기본적으로 Canvas로 구성하므로 Canvas를 하나 더 만들거나, Panel을 이용한다.
Canvas나 Panel이나 적용 방식은 동일하다.
1. 시간을 멈춘다
Time.timeScale = 0;
반대는
Time.timeScale = 1;
2. 게임 플레이 화면 위에 또다른 화면을 오버랩해서 비활성화시킨다.
if(settingCanvas) settingCanvas.gameObject.SetActive(true);
if(settingCanvas) settingCanvas.gameObject.SetActive(false);
SetActive()를 사용해서
이렇게 해서, 껐다가 켰다가 할 수 있다.
위에 것은 settingCanvas를 활성화하겠다(일시 중지하겠다)
아래 것은 settingCanvas를 비활성화하겠다(다시 시작하겠다)
아예 사라지면 좀 이상하니까...
알파값을 넣어서 반투명으로 해보자. 이러면 화면 위에 화면이 올라온 것처럼 보이고
반투명이라 게임 플레이 화면까지 보여서 좀 더 그럴듯해보인다.
'개발 > Unity & C#' 카테고리의 다른 글
[유니티] 씬 이동할 때, 에러 발생 해결 방법. SceneManager.LoadScene (0) | 2018.03.27 |
---|---|
[유니티] 캔버스 스케일러(Canvas Scaler) 컴포넌트 적용한 차이점 (0) | 2018.03.27 |
[유니티] Mathf를 통해 반올림, 올림, 내림 처리하기.. (0) | 2018.03.25 |
[유니티] Mathf.Lerf를 통해 두 값 사이의 거리 구하기 (0) | 2018.03.25 |
[유니티] UGUI로 버튼 생성 시, 활성화/비활성화 변경하는 방법... (0) | 2018.03.24 |