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
'GameDevelop > Unity기초쌓기' 카테고리의 다른 글
[Unity] 타이머 Time.timeScale = 0f; (0) | 2025.03.30 |
---|---|
[Unity] 게임종료UI (0) | 2025.03.29 |
[Unity] 충돌체크로 점수 증가 AddScore() (0) | 2025.03.28 |
[Unity] 싱글톤(Singleton) (0) | 2025.03.28 |
[Unity] Canvas 점수보드 UI, 폰트 (0) | 2025.03.28 |