GameDevelop/Unity기초쌓기

[Unity] 올라가는 점수값 UI표시 - Text타입

도도돋치 2025. 3. 29. 16:57
Contents 접기
728x90

 

Canvas UI에 더해지는 점수 표시하기 

콘솔창을 통해 totalScore이 잘 올라가는 것을 확인했다면 이제 Canvas밑에있는 Score텍스트에 점수를 넣어보자.

Text컴포넌트에 Text값을 바꿔줘야 하므로 Text컴포넌트를 가져와야한다.

문제는 GameManager에서 Text컴포넌트가 필요한데, 지금 GameManager가 붙어있는 곳과 우리가 가지고 올 Text컴포넌트가 붙어있는 곳이 같지 않다는 것이다.

 

이럴때는 Text컴포넌트, Text라고 하는 타입을 가져와서 활용할 수 있다. 

 

우선 UI사용을 위해 UI와 관련된 패키지를 가져올수 있는 아래코드를 GameManager Script에 추가한다. 

using UnityEngine.UI;

그 후 프리팹 해주었던 것처럼 Text도 아래와 같이 변수를 선언해준다.

public Text totalScoretxt;

totalScore의 text값에 totalScore의 값을 넣어준다.

이때, totalScore은 정수형이기때문에 문자열형으로 바꿔주기 위해 ToString()을 뒤에 붙여준다. 

public void AddScore(int score)
{
    totalScore += score;
    //숫자를 문자열로 toString()
    totalScoretxt.text = totalScore.ToString();
}

GameManager의 Total Scoretxt에 Score오브젝트를 드래그 앤 드롭으로 넣는다.

이렇게 하면 Score게임 오브젝트에 들어있는 text컴포넌트를 가지고 올 수 있다.

우리가 변수를 Text타입으로 선언해 놨기 때문이다.

 

결과화면

728x90