게임 스테이지를 전부 클리어했을때 표시할 엔딩장면을 만들어 봅시다. Result 라는 이름의 씬을 만들어 봅니다.

결과화면  UI 만들기 

배경 이미지 배치

+UI>Image를 추가하고 자동추가된 Canvas 컴포넌트의 Render Mode값을 ScreenSpace-Camera로 설정하고 Render Camara Main Camera를 선택해 줍니다.  tile_back이미지를 Image컴포넌트에 끌어다 놓습니다. 이미지 크기를 화면에 맞게 조정합니다. 하이라키에서 image를 선택하고Anchor Presets를 열어 ALT를 누른상태에서 stetch를 선택해도 됩니다.

 

타이틀로 돌아가는 버튼 배치

하이라키의+를 클릭해 UI>Legacy>Button을 추가합니다. 프로젝트뷰 Image폴더의 Button스프라이트를 Image컴포넌트의  Source에 끌어다 놓습니다. Preserve Aspect / SetNativeSize후 적당히 위치를 잡습니다.

자식으로 Text도 추가하고 타이틀로 돌아가기를 입력해줍니다. 사이즈는 48정도 입니다.

Button에 ChangeScene 스크립트를 끌어다 추가해주고 Scene Name은 Title로 설정해줍니다.

OnClick()에 +를 눌러 리스트를 하나 만들고 하이라키의 Button을 끌어다 연결후 None Function을 눌러 ChangeScene>Load()를 선택해줍니다.

 

점수표시용 UI만들기

하이라키의+를 클릭해 UI>Image을 추가합니다. 프로젝트뷰 Image폴더의 ScoreBoard스프라이트를 Image컴포넌트의  Source에 끌어다 놓습니다. Preserve Aspect / SetNativeSize후 적당히 위치를 잡습니다. 이름을 ScoreBoard 로 바꿉니다.

자식으로 Text도 추가하고 타이틀로 돌아가기를 입력해줍니다. 사이즈는 48정도 입니다. 이름을 ScoreText로 바꿉니다.

전체 점수를 표시할 스크립트 만들기

ResultManager스크립트를 만들어 Canvas에 어태치합니다.

ResultManager.cs
0.00MB

실행되면 GameManager의 totalScore를 ScoreBoard자식인 scoreText에 표시하는게 다입니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ResultManager : MonoBehaviour
{
    public GameObject scoreText;

    // Start is called before the first frame update
    void Start() {
        scoreText.GetComponent<Text>().text = GameManager.totalScore.ToString();
    }
}

 Canvas에 어태치된 ResultManager스크립트 컴포넌트의  scoreText변수에 ScoreText를 끌어다 스크립트에 연결해 줍니다.

+ Recent posts