다음과 같이 코드를 짜주면 간단하게 완성된다~
using UnityEngine.UI; //text 사용 위해 필요하다.
public Text timeText; //인스펙터 창에서 설정해줘야함.
float time = 10.0f;
void Update()
{
if (time > 0)
time -= Time.deltaTime; // 프레임 수 빼준다..((deltaTime으로 어느 컴퓨터든 같게 기준
else
time = 0;
timeText.text = "Time : " + time.ToString("F1"); //time.Tostring("F1")는 소숫점 첫째 자리까지만 표기
}
하지만, 타이머같은 부분은 Update문에 들어가면 성능 면에서 굉장히 비효율적이다.
타이머는 코루틴을 사용해서 작성해야 효율적인 코드작성이 가능하다.
다음은 코루틴을 사용한 타이머 코드(초 단위)이다.
using UnityEngine.UI; //text 사용 위해 필요하다.
public Text timeText; //인스펙터 창에서 설정해줘야함.
void Start()
{
StartCoroutine(Timer(10.0f)); //10초 타이머 시작
}
IEnumerator Timer(float time)
{
while(time > 0)
{
time -= Time.deltaTime;
timeText.text = "Time : " + time.ToString("F1"); //time.Tostring("F1")는 소숫점 첫째자리까지만 표기
yield return null;
}
time = 0;
timeText.text = "Time : " + time.ToString("F1");
]
'유니티3D[Unity3D]' 카테고리의 다른 글
VR 프로젝트 시작하기 | Oculus 연동(연결)하기 (0) | 2021.05.26 |
---|---|
유니티(Unity3D) IOS 앱 폴더 및 파일 경로 찾기/다운 (0) | 2021.04.26 |
유니티(Unity) 스크롤뷰 수직 정렬(ScrollView Vertical layout) (1) | 2021.04.14 |
UNITY 시작 (0) | 2021.04.12 |
유니티(Unity) UnityEngine 오류 (1) | 2021.04.12 |