🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

애니메이션 Date.now에 대한 질문입니다.

22.04.14 16:27 작성 조회수 137

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으로 사용해야 하니까요~

채널톡 아이콘