Я пытаюсь сделать таймер в JavaScript для анимации в WebGL. Это код, который получает прошедшее время с использованием класса Date.Не удается получить правильное время, прошедшее
var lastTime = Date.now();
var elapsed = 0;
var timeNow = Date.now();
function animate() {
timeNow = Date.now();
if(timeNow > lastTime) {
elapsed = timeNow - lastTime;
console.log(elapsed);
}
lastTime = timeNow;
}
Анимация вызывается из окна обратного вызова window.requestAnimationFrame(). Но это, кажется, порождает ценность между 16 и 17. Это никогда не превышает 20. Что происходит?
EDIT: На самом деле это был мой дерп. Истекший должен быть + = not =. Спасибо Аннотация Алгоритм объяснения, почему он был между 16 и 17. :)
Отредактированный ответ. Вы можете увидеть, как изменить 'requestAnimFrame'. Эта функция широко используется для анимации, а 60 кадров в секунду - «стандартная». –
Хорошо, это имеет смысл. Но я хочу, чтобы общее время прошло. – Jadar
Ой, вау, эх, неважно. Я забыл + = по истекшему = timeNow - lastTime; – Jadar