🧩 코딩/코드 메모
Unity Time.timeScale로 게임 내 시간 조절하기 🤸🏻♀️
코스모스몰리
2022. 10. 30. 22:54
728x90
게임을 플레이 하다보면
2배속으로 플레이가 된다던가
게임 중단 창으로 게임의 시간을 아예 정지시키는 화면을 볼 수 있습니다.
이런 기능을 구현할수 있는 방법으로는
유니티에서
Time.Scale로 구현이 가능한데용.
아래 코드를 보겠습니다 !
코드
void Update()
{
if(!resultScreen.activeInHierarchy && !StopScreen.activeInHierarchy)
{
time += Time.deltaTime;
Time.timeScale = 1.0f;
//Mathf.Round로 소수점 제외해서 표현하기.
TimeText.text = "" + Mathf.Round(time);
}
else if(resultScreen.activeInHierarchy || StopScreen.activeInHierarchy)
{
Time.timeScale = 0;
}
}
이 코드는 제가 현재 만들고 있는 게임인 피하기 게임에서 가져온 코드입니다.
해석 해보면
결과창과 중단 창이 뜨지 않을때는
Time.timeScale = 1.0f
로 시간이 평범하게(?) 흐른다는 것을 작성해주고
아니라, 결과창과 중단창이 떴을때는
Time.timeScale = 0 으로 만들어주어서
시간이 흐르지 않게 하였습니다.
이 코드는 시간을 이용한 게임에서도 유용하게 쓰일것 같습니다.
728x90