작성
·
162
0
function draw() 위에 let oldTime = Date.now();를 만들면 ex06_02.js 라는 파일이 실행될 때 시간이 딱 고정될테고, draw() 함수 안에 const deltaTime = newTime - oldTime;는 즉, draw 함수를 실행했을 때와 파일을 열었을 때를 빼는 값인 것은 이해하였습니다.
하지만 그 다음 줄에 oldTime = newTime에서 draw 함수는 계속해서 실행되다보니 oldTime에 newTime을 계속 대입시키면 결국 두 개의 값이 같아지는게 아닌가요?? 그러면 deltaTime의 값은 결국 0이 되는걸로 이해하였는데
어떤 부분을 잘못 이해하였는지 질문드립니다!
답변 1
0
해당 코드의 실행 시점이 중요합니다.
const deltaTime = newTime - oldTime; 이 때 시간차가 deltaTime에 저장이 되고,
deltaTime이 정해진 이후에 oldTime = newTime를 실행하기 때문에 deltaTime에는 여전히 이전에 넣어준 시간차가 저장되어 있다고 생각하시면 됩니다.
oldTime = newTime은 다음 실행 턴을 위해서 해준 것이고요. 현재의 newTime값을 다음번에는 oldTime으로 사용해야 하니까요~