Не работает setInterval

348
30 января 2017, 19:46

Вот в этом коде не работает setInterval(). Функция вызывается сама по себе, но setInterval не работает:

$(function () {
    Screen = document.getElementById('gameFill');
    ctx = Screen.getContext("2d");
    clear();
    Config();
    renderSprite();
    setInterval(renderSprite,50);
});
function renderSprite() {
  skillet.img.onload = function () {
    clear();
    ctx.drawImage(skillet.img,skillet.step,80,60,80,50,50,100,100);
    skillet.step += 50;
    if(skillet.step == 400){
      skillet.step = 0;
    }
  }
}
Answer 1

Может вам это пригодиться, но рендерить через setInterval это не самое, мягко говоря, "правильно решение" обратите внимание на RequestAnimationFrame.С простор интернета :"Все зависит от частоты кадров вашего браузера и компьютера (обычно это 60 кадров в секунду). Ключевым отличием является то, что вы просите браузер выполнить функцию при первой возможности, а не с заданным интервалом. Еще одно достоинство такого подхода в том, что браузеры могут снизить requestAnimationFrame в зависимости от нагрузки, видимости элемента и состояния батареи." и это малая часть преимущества над setInterval`om

READ ALSO
Не могу взять местоположение

Не могу взять местоположение

Всем приветЕсть карта и на ней Геокардинация

313
resize и разрешение браузера

resize и разрешение браузера

Не могу понять в чем проблема с работой кодаВсе работает отлично, пока я не сменю на iPad (в принципе любой планшет) разрешение, то есть не покручу...

332
chromdriver - no such session error

chromdriver - no such session error

Пытаюсь запустить тесты с использованием:

327
Вложенные компоненты Vue.js

Вложенные компоненты Vue.js

Подскажите что я делаю не так:

1008