[사전캠프] 3주차(4) - [풍선을 지켜라] 게임 끝내기(게임종료 판넬·로직, 다시하기 기능)

유승아·2024년 4월 5일

내일배움캠프

목록 보기
12/69
post-thumbnail

풍선을 지켜라

게임을 끝낼 때 필요한 기능들을 구현해 보자.

1. 게임 끝내기

1) 게임 종료 판넬 만들기

Hierarchy - Canvas - Create Empty → EndPanel 생성

기존 timeTxtTimeTxt 로 수정

판넬 배경 만들기

EndPanel 우클릭 - UI - Image 생성

Image
Rect Transform Width: 450, Height: 600

Add Component Shadow
Shadow - Effect Color(RGBA) 255, 255, 0, 150
Shadow - Effect Distance X: 15, Y: -15


Text 만들기

Assets - Fonts 폴더 생성 후 배민 주아체 폰트 가져오기

EndPanel 우클릭 - UI - Legacy - Text

Title
Rect Transform PosY: 195, Width: 200, Height: 200

Text
Font 배민 주아체
Font Size 50
Alignment 중앙 정렬
Color(RGB) 255, 0, 0

💡 Ctrl+D

Title 클릭 후 Ctrl+D = Title 복사+붙여넣기

NowScoreTitle
Rect Transform PosX: -100, PosY: 100, Width: 200, Height: 200

Text 이번판
Font Size 40
Color(RGB) 0, 0, 0

NowScore (NowScoreTitle Ctrl+D)
Rect Transform PosX: 150

Text 0.00
Alignment 왼쪽 정렬

BestScoreTitle (NowScoreTitle Ctrl+D)
Rect Transform PosY: 0

Text 최고점수

BestScore (NowScore Ctrl+D)
Rect Transform PosY: 0

Color(RGB) 255, 0, 0


Retry 버튼 만들기

EndPanel 우클릭 - UI - Legacy - Button 생성

RetryBtn
Rect Transform PosY: 0, Width: 300, Height: 100

Source Image None
Color(RGB) 80, 80, 200

RetryBtn - Text
Text 다시하기
Font 배민 주아체
Font Size 50
Color(RGB) 255, 255, 255


EndPanel 오브젝트 체크 해제하기

게임 종료 판넬이니까 오브젝트 꺼두기


2) 게임 종료 로직 만들기

싱글톤 만들기

GameManager C# 스크립트 작성

게임오버 함수 만들기

GameManager C# 스크립트 작성

오브젝트 넣어주기

충돌되는 곳에 게임오버 함수 호출하기

Balloon 오브젝트에 Tag Player 부여

Square C# 스크립트 작성

💡 자동 완성으로 간편하게 함수 불러오기

GameManager 에 오브젝트들 넣어줬나 확인

정확한 값을 도출하기 위해서 코드 보완하기

👀 실행 결과


3) 다시하기 기능 만들기

RetryButton C# 스크립트 생성, RetryBtn 오브젝트에 붙여주기

RetryButton C# 스크립트 작성

💡사용하지 않는 Start, Update문은 코드 가독성 향상, 성능 최적화, 메모리 관리 등의 이유로 지워주는 습관을 가지면 좋다.

RetryBtn의 Button 컴포넌트를 마지막 이미지와 동일하게 적용하기

👀 실행 결과

다시하기 버튼이 눌리지만 게임이 재시작되지 않는다.

GameManager C# 스크립트 보완

👀 실행 결과

0개의 댓글