unity - time 관련 함수

반응형

1. 시간 계산 방법
void Update () 
{
_playTime = Time.time;
_days = (_playTime/86400) % 365; // 24hour * 60m * 60sec
_hours = (_playTime/3600) % 24;
_minutes = (_playTime/60) % 60;
_seconds = (_playTime%60);
_fractions = (_playTime*10) % 10;
print ("M:"+_minutes +" S:"+_seconds + " F:"+_fractions);


2. GUI를 사용한 시간 출력

 void OnGUI()
{
GUILayout.Label("PlayTime " + _playTime);
GUILayout.Label("Minutes " + _minutes.ToString("f0"));
GUILayout.Label("Seconds " + _seconds.ToString("f0"));
GUILayout.Label("PlayTime " + _fractions.ToString("f0"));
}

3. 경과 시간 재기.
void Update () 
{
if(_timeActive)
{
_playTime = Time.time;
}
if(Input.GetKey("1"))
{
_startTime = Time.time;
}
_fromStartTime = Time.time - _startTime;
}

 4. 레벨 로드 타임.
_fromLoadTime = Time.timeSinceLevelLoad;

5. time 속도
Time.timeScale=0.1f;         10배 느리게
Time.timeScale=1.0f;         정상 속도로.

6. 시간 멈춤, 재생.
 
if(_timeActive)
{
_playTime = Time.time;
}
if(Input.GetKeyDown("3"))
{
_stopTime = Time.time;
_timeActive = false;
}
if(Input.GetKeyUp("5"))
{
        _continueTime = Time.time - _playTime;
_timeActive = true;
}

7. time reset
 if(Input.GetKeyDown("6"))
{
        _playTime = 0;
_stopTime = 0;
_timeActive = false;
}

8. count down
 if(_timeActive)
{
_playTime = _countDownDelay -  Time.time + _countDownAmount;
}
if(Input.GetKeyDown("7"))
{
_countDownDelay = Time.time;
_timeActive = true;
}
if(_playTime <0)
{
_timeActive = false;
}

9. 실제 시간 얻어오기. 
time.TimeScale로 시간을 멈추더라도 실제 시간값을 얻어오는 방법이 있다.
_actualTime = Time.realtimeSinceStartup; 

'Unity > Unity Study' 카테고리의 다른 글

Unity - Character Controller  (0) 2013.11.03
unity - time 출력  (0) 2013.10.30
unity 2d sprite animation  (0) 2013.10.29
자동 폴더 만들기.  (0) 2013.10.20
Unity Script Debug 방법  (0) 2013.03.27
TAGS.

Comments