본문 바로가기

Unity/Unity2D_Shooting

Unity2D_Shooting - UI기본셋팅 및 스코어 Text에 표시하기

1. UI 기본 셋팅

(1) - UI오브젝트 생성 후 Canvas오브젝트 속성에서 Canvas Scaler의 UI Scale Mode를 Scale With Screen Size(어떤 해상도에서든지 UI크기를 똑같이 유지한다)로 바꿔준다 *왠만하면 Scale With Screen Size으로 설정하는 것이 좋다

(2) - Reference Resolution은 1080x1920으로 해준다

(3) - UI 이미징

 

 

2. 적기체를 잡을때마다 점수를 누적해서 Text에 표시하기

(1). GameManiger.sc

     - 적기체를 생성할때 게임매니져 오브젝트를 적기체의 스크립트로 넘김(계층구조창에 존재하는 오브젝트의 정보를

       생성할 프리팹오브젝트로 넘기는 방법!)

 

 

 

(2). Enemy.cs

Enemy스크립트에서 (1)로 부터 받아올 게임매니져의 오브젝트를 받을 수 있게 public GameObject 선언을 해주고

 

 

(3). Enemy.sc

Enemy가 파괴되기전 각 적기체마다 public enemyScore로 가지고 있는 int정보를 기존의 게임매니져스크립의 score를 가져와서 거기다가 각 적기체의 점수를 더하고 다시 게임매니져스크립트로 보내준다

 

 

(4). GameManiger.sc

  - 우리는 UI -> TextMeshPro를 사용하고 있다 따라서 이를 스크립트상으로 가져오기 위해서는

   최상단 using TMpro; 선언 및 public TextMeshProUGUI 선언을 하고 유니티 엔진에서 드래그앤 드랍으로 할당까지

   해준다

 

 

(5). GameManiger.sc

  - 받아온 점수 정보를 TextMeshPro에 삽입해준다

 *string.Format("{0:n0}",int정보) 을 하면 int정보를 스트링정보로 바꿔주면서 숫자3자리마다 ,를 자동으로 찍어준다