HTML 웹 사이트에서 만든 스프라이트 시트로 프레임 애니메이션으로 프레임을 만들려고했는데 애니메이션을위한 fps를 고정하는 방법을 알 수 없었습니다. 문제는 항상 번개 속도로 가고 있으며 ~ 10-15fps로 잠글 수 있기를 원합니다. Date.now() 메서드와 setInterval 메서드를 사용해 보았지만 그럴 것 같지 않습니다. 당분간 일하고 있습니다.HTML 캔버스/자바 스크립트의 FPS 잠금
이 애니메이션을 사용하는 방식은 배열을 검사하여 내가 만든 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);
}