본문 바로가기

게임개발

몇 발 남았지? UI에 남은 총알을 표시해보자

최대총알 개수 15발. 내가 13발을 쏘면 몇 발이 남았지?

영화에서 주인공은 가끔 자신이 몇발을 쐈는지 생각하고 나에게 몇발이 더 남았는지 계산을 하곤 한다.

하지만 게임에서까지 그럴 필요가 있나? 게임에선 화면에 나의 총알이 몇 발 남았는지 표기를 해주면 된다.

 

우선 총알이 무한이라면 이 내용은 필요가 없을 것이다. 

이 내용이 필요하단 것은 내가 가질 수 있는 최대 총알 개수가 존재하고, 리로드 또는 아이템 획득을 통해 총알의 개수를 증가시켜야 하는 상황일터.

 

그렇다면 우선 UI에 표시해야 할 내용은 최소 2개. 

최대 총알 개수와 내가 현재 가진 총알 개수. 이를 텍스트로 canvas상에 만들어두자.

각각을 maxAmmoText currentAmmoText로 하였다.

 

Ammo, Bullet 무엇이든 자신이 마음에 드는 단어를 선택하자.

그리고 총알을 관리하는 스트립트로 와서 표시할 방법을 생각하자.

 

UI 텍스트를 통해 _maxAmmoText _currentAmmoText 를 실시간으로 표시할 수 있다. 이를 위해 두 개의 UI 텍스트 컴포넌트를 생성하고, 스크립트에서 이 텍스트 컴포넌트를 참조하여 값을 업데이트.

 

그리고 Update메서드에서 _maxAmmo _currentAmmo의 값을 실시간으로 UI 텍스트에 업데이트한다.

이 때 using UnityEngine.UI; 가 참조 되어 있지 않다면 에러메시지가 뜰 것이다. 꼭 넣자.

 

그리고 할 일은 UI표시.

유니티로 돌아가 Inspector에서 maxAmmoText currentAmmoText 필드를 드래그 앤 드롭으로 각각 생성한 UI 텍스트 컴포넌트에 할당하면 끝이다.

 

 

물론 총알을 구현하기 위해선 더 많은 내용이 필요하지만 이를 UI상에 표시하는 것은 매우 간단하다.

 

이제 영화 속 주인공처럼 남은 총알이 몇개인지 계산할 필요가 없어졌다.