본문 바로가기

스파르타코딩 공부내용 정리/유니티

1주차 7강 게임 끝내기

게임을 끝낸 팝업은 Canvas로 구현해야 한다.

시간이 흐르도록 하는 것은 gameManager의 역할이다.

1. 시간이 흐르게 하기

void Update()
{
	limit -= Time.deltaTime;
    timeText.text = timeLimit.ToString("N2");
}

 

2. 멈추게 하기

void Update()
{
	limit -= Time.deltaTime;
    if (limit < 0)
    {
    	Time.timeScale = 0.0f;
        limit = 0.0f;
    }
    timeText.text = timeLimit.ToString("N2");
}

 

gameManager에게 판넬을 쥐어줘야 한다.

public GameObject panel;

로 받는다.

 

여기서 '끝? 다시?'를 누르면 초기화되어야 한다.

필요한 것

using UnityEngine.SceneManagement;

코드

public void retry()
{
    gameManager.I.retry();
}

화면을 바꾸는 건 매우 강력한 기능이기 때문에 gameManager가 하도록 하는게 안전하다.

 

하지만 재시작 후에도 캐릭터가 멈춰 있다. 우리는 이를 timeScale을 조정함으로써 정상작동하게 해야 한다.

void initGame()
    {
        Time.timeScale = 1.0f;
        totalScore = 0;
        limit = 30f;
    }