Опитвах се да направя анимация кадър по кадър със spritesheet, който направих на HTML уебсайт, и не можах да разбера как да заключа fps за анимацията. Проблемът е, че винаги се движи със светкавични скорости и искам да мога да го заключа на ~ 10-15 кадъра в секунда. Опитах да използвам метода Date.now() и метода setInterval, но изглежда не работи за момента.
Начинът, по който използвам тази анимация, също зависи от проверка на масив, за да се уверя, че трябва да се ангажира с анимирането на анимацията от 4 кадъра, която направих. Ето кода, който използвах.
function animateCharacter() {
var canvas = document.getElementById("portrait");
var context = canvas.getContext("2d");
var character = new Image();
character.src = "/assets/spritesheet.jpg";
animate();
function animate() {
context.drawImage(character, shift, 0, width, height, 300, 0, width / 2, height / 2);
if (currentFrame == totalFrames) {
shift = 0;
currentFrame = 0;
}
requestAnimationFrame(animate);
}