반응형
이번에는 GameFramework.js를 살펴본다.
GameFramework는 게임 Loop를 관리한다.
우선 mouse eventhandler를 등록한다.
> touch 기반 모바일은 무관하다.
그 다음 game scene을 등록할 변수와 다음 scene을 등록할 변수를 생성한다.
ChangeGameState
> 게임의 scene이 변경되거나
Update
>게임의 논리적인 부분
Render
>이미지를 그리는 부분
gameLoop
> 위 Update와 Render를 반복해서 호출하는 역할이다.
추가적으로 frame을 측정한다.
마지막은 setTimeout으로 자기자신을 호출하는 것으로 끝이다.
> 이 방식은 동적 fps방식으로 일정 주기로 Loop를 호출하는 것이 아닌 현재 디바이스의 최대 fps를 허용한다.
다만, 이 방식은 이전의 fps를 가지고 Update부분에서 표현 거리/fps를 나누어 fps에 대한 부분으로 표현해야한다.
>다른 방식으로는 Loop Time을 정한 정적 fps가 있으며 이 방식은 디바이스의 fps가 기대 fps로 떨어질 떄 frame drop이 발생한다.
다만, 구현이 간단하여 사용하기 쉽다.
반응형
'언어 > js' 카테고리의 다른 글
for와 foreach 효율 (0) | 2015.01.29 |
---|---|
nodejs 서버와 mongojs (0) | 2015.01.29 |
html Canvas 게임 강좌 - 3 (0) | 2015.01.15 |
html Canvas 게임 강좌 -2 (0) | 2015.01.13 |
html Canvas 게임 강좌 -1 (0) | 2015.01.10 |