멍남매 기술 블로그

초코/Unity

Unity 2D - 모바일 게임 만들기 5 (일시 정지)

2021. 4. 23. 15:45 / 알 수 없는 사용자

안녕하세요 초코입니다.

이번 포스팅은 짧지만 게임의 기능 중 일시 정지 내용입니다.

 

먼저 히어라이키 창에서 UI - Button을 생성합니다. ( 자식인 Text는 삭제 합니다.)

버튼 생성

 

그리고 Rect Transform에서 인 게임 화면을 비교하면서 위치를 지정합니다.

 

히어라이키 창에 Empty 오브젝트를 만들어서 이름은 UIManager로 바꿔주고 스크립트를 생성합니다.

일시 정지 만들기

 

스크립트를 열었으면 내용은 public void Stop(){TIme.timeScale = 0;}만 적습니다.

스크립트

 

유니티로 돌아와서 UIManager에 드래그해서 스크립트를 적용하고 아까 만든 버튼에 Event Trigger를 추가해서 적용 시킵니다.

Event Trriger

 

실행시켜서 버튼을 누르면 멈추지만 다시 시작하는 버튼이 없으니 만들어 보겠습니다.

먼저 히어라이키 창에 Canvas, Panel과 Button을 생성하겠습니다.(Canvas 자식으로 Panel과 Button이 들어갑니다.)

 

그 다음 Canvas의 인스펙터 내용에서 Canvas에서 Sort Order를 1로 적용합니다 효과는 Canvas가 여러 개일 때 렌더링 순서 정해 주는 겁니다.

 

패널은 Image에서 색깔만 바꿨습니다.

 

버튼에서는 Width와 Height의 사이즈를 조절했습니다. 나중에 Event Trigger 적용합니다.

 

Text에서는 내용과 폰트 사이즈 폰트 색깔을 바꿨습니다.

 

저는 이런 모양새로 나타나고 이제 이걸 히어라이키 창에서 프리팹으로 만들겠습니다. (그 다음 삭제)

 

UIManager 스크립트의 내용을 이렇게 바꿔줍니다.

 

그리고 유니티로 돌아와서 만든 프리팹을 드래그해서 넣습니다. 여기까지 하면 이제 정지 버튼 눌렀을 때 방금 만든 프리팹이 뜹니다. 그럼 이제 이어하기의 스크립트를 만듭니다. (정지 스크립트의 Time.timeScale = 0을 1로 바꾼 내용과 Destroy(gameObject)를 넣습니다.)

 

이제 프리팹으로 된 오브젝트를 열어서 스크립트 적용하시면 됩니다.

 

스크립트를 Canvas에 Button에는 Event Trigger 적용

 

실행 시켜서 확인하면 일시 정지 후에 다시 풀리는 것을 확인 가능!

 

이번 포스팅 일시 정지 기능 구현은 여기 까지입니다.

'초코 > Unity' 카테고리의 다른 글

Unity 2D - 모바일 게임 만들기 6 (게임 오버)  (0) 2021.05.07
Unity - 2D 모바일 게임 만들기 4 (UI - 점수)  (0) 2021.04.16
Unity -2D 모바일 게임 만들기 3  (0) 2021.04.09
Unity - 2D 모바일 게임 만들기 2  (0) 2021.04.05
Unity - 2D 모바일 게임 만들기 1  (0) 2021.04.02

관련글