본문 바로가기
유니티 Unity/유니티 기능 구현

유니티 C# : 타임어택 - 시간이 줄어드는 UI 구현

by TODAYCODE 2021. 6. 18.
반응형
// 시간을 표시하는 text UI를 유니티에서 가져온다.
public Text gameTimeUI;

// 전체 제한 시간을 설정해준다. 여기서는 180초.
float setTime = 180;

// 분단위와 초단위를 담당할 변수를 만들어준다.
int min;
float sec;

void Update()
    {
        // 남은 시간을 감소시켜준다.
        setTime -= Time.deltaTime;
        
		// 전체 시간이 60초 보다 클 때
        if (setTime >= 60f)
        {
        	// 60으로 나눠서 생기는 몫을 분단위로 변경
            min = (int)setTime / 60;
            // 60으로 나눠서 생기는 나머지를 초단위로 설정
            sec = setTime % 60;
            // UI를 표현해준다
            gameTime.text = "남은 시간 : " + min + "분" + (int)sec + "초";
        }
        
        // 전체시간이 60초 미만일 때
        if (setTime < 60f)
        {
        	// 분 단위는 필요없어지므로 초단위만 남도록 설정
            gameTime.text = "남은 시간 : " + (int)setTime + "초";
        }
        
        // 남은 시간이 0보다 작아질 때
        if (setTime <= 0)
        {
        	// UI 텍스트를 0초로 고정시킴.
            gameTime.text = "남은 시간 : 0초";
        }
	}

훨씬 더 간단하게 표현할 방법이 있을 것 같긴 한데

당장에 필요해서 급하게 만들어서 사용했다.

반응형

댓글