obtenha uma animação suave para um jogo de tela
Como obter uma animação melhor, dinamicamente, mesmo quando o navegador está ocupado ou ocioso, para diferentes dispositivos com capacidade de hardware diferente.
Eu tentei de várias maneiras e ainda não consigo encontrar o caminho certo para fazer o jogo exibir uma animação melhor.
Isto é o que eu tentei:
var now;
var then = Date.now();
var delta;
window.gamedraw = function(){
now = Date.now();
delta = now - then;
if(delta > 18){
then = now - (delta % 18);
game_update();
}
}
window.gameloop = setInterval(window.gamedraw,1);
18 é o valor do intervalo para atualizar o jogo, mas quando o navegador está ocupado, esse intervalo não é bom e precisa diminuir. Como obter uma animação melhor dinamicamente, mesmo quando o navegador está ocioso ou ocupado?
Suponho que o valor do intervalo seja o problema, porque se o intervalo for menor, a animação do jogo é muito rápida, se esse valor for 18, a animação do jogo será boa, mas não quando o navegador estiver ocupado, e não tenho ideia de como alterá-lo dinamicamente .