반응형

1. 시험환경

    · 윈도우

    · 유니티(Unity) 6.2

 

2. 목적

    · Canvas에 점수 집계 UI를 구성한다.

    · 버튼 클릭 시 점수 Count가 증가하는 동작을 만들어 보자.

 

3. 적용

    ① 신규 프로젝트("Create project" )를 생성한다.

        - Template: Universal 3D

        - Project name: chap07_UIScoring

        - Location: C:\workdpsace-unity

 

    ② "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Text - TextMeshPro"으로 점수 현황판을 만든다.

        - Object 이름: ScoreText

        - Text Input: ScoreText Object

 

     "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "UI" → "Button - TextMeshPro" 버튼을 추가한다.

        - Object 이름: AddScoreButton

        - Text Input: Add Score

 

     버튼 클릭시 점수 증가 및 UI에 점수를 표시하는 메소드를 작성한다.

        - 경로: Assets/Scripts/

        - 파일명: ScoreManager.cs

  using UnityEngine;
  using UnityEngine.UI;
  using TMPro;

  public class ScoreManager : MonoBehaviour
  {
      public TextMeshProUGUI scoreText;
      private int score = 0;  // 점수 저장 변수

      void Start()
      {
          UpdateScoreUI();    // UI에 점수를 처음 표시
      }

      // 점수를 증가시키는 메소드
      public void AddScore(int amount)
      {
          score += amount;
          UpdateScoreUI();    // 점수를 변경한 후 UI에 업데이트 반영
      }

      // UI에 점수를 표시하는 메소드
      void UpdateScoreUI()
      {
          // 점수 텍스트 업데이트
          scoreText.text = "Score: " + score.ToString();
      }
  }

     

    ⑦ "Hierarchy 창" → "마우스 우클릭 팝업 메뉴" → "Create Empty" 객체를 생성하고 스크립트를 임포트한다.

        - Object 이름: ScoreManager

 

    ⑧ 임포트한 스크립트 파일의 scoreText 변수에 "Score Text 객체"를 초기화(Drag&Drop) 한다.

        - 중요: ScoreManager가 업데이트할 "대상 객체(Score Text)"를 ScoreText 변수 값으로 설정한다.

 

    ⑨ AddScoreButton 객체의 OnClick() 시, ScoreManager의 AddScore()를 호출하도록 설정한다.

        - Runtime Only: ScoreManager

        - Function: ScoreManager.AddScore

        - Add 단위: 10 (변경 가능)

 

4. 결과

    · Add Score 버튼 클릭시, 점수가 증가하여 표시되는 것을 확인한다.

반응형

+ Recent posts