Class: Timer

이 객체는 이전 프레임과 현재 프레임의 시간차인 deltaTime을 계산하는 일을 담당한다.

Usage

                    
                        new Timer()
                    
                

Members

currentTime: number

현재 프레임의 시간을 말한다. 웹페이지가 열린 후 지난 시간이 저장된다.

Type:
{number}

fps: number

1초에 보여줄 프레임의 개수를 말한다. 기본값으로 60이고, 24부터 MAX_VALUE 사이의 값을 저장할 수 있다.

Type:
{number}
Default Value:
24

fixedDeltaTime: number

물리엔진에서는 가속도를 적분하여 속도를 나타내고, 속도를 적분하여 이동거리를 나타내기 때문에 정확한 연산을 위해서는 수식에서 사용할 ∇t가 일정해야한다. 따라서 fixedDeltaTime은 이론적으로 1 프레임을 렌더링할 때 걸리는 시간을 ∇t로 정한다.

Type:
{number}

Methods

update()

현재 프레임과 이전 프레임간의 시간차를 구해 deltaTime에 저장하고, 그 값을 accumulatedTime에 누적한다.

만약 accumulatedTime이 일정값보다 크다면 강제로 조정한다. 이걸 조정하지 않으면 누적된 시간만큼 물리엔진을 업데이트하기 때문에 긴 딜레이가 걸릴 수 있으므로 일부러 값을 낮춘다.

getCurrentTime() → {number}

브라우저가 열린 후 또는 새로고침된 후 지난 시간을 반환한다.

Returns:

초 단위의 지난 시간

Type:
{number}

setFixedDeltaTime()

물리엔진을 업데이트하기위한 fixedDeltaTime을 설정한다. 이 때 Timer의 fps속성을 이용하여 계산한다.