저는 애니메이션을 처음 접했지만 최근에 setTimeout
을 사용하여 애니메이션을 만들었습니다. FPS가 너무 낮았으므로이 link에 설명 된 requestAnimationFrame
을 사용하는 해결책을 찾았습니다.requestAnimationFrame을 사용하는 방법은 무엇입니까?
지금까지, 내 코드입니다 : 이것은 첫 번째 프레임 동안 중지
//shim layer with setTimeout fallback
window.requestAnimFrame = (function(){
return
window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function */ callback){
window.setTimeout(callback, 1000/60);
};
})();
(function animloop(){
//Get metrics
var leftCurveEndX = finalLeft - initialLeft;
var leftCurveEndY = finalTop + finalHeight - initialTop;
var rightCurveEndX = finalLeft + finalWidth - initialLeft - initialWidth;
var rightCurveEndY = leftCurveEndY;
chopElement(0, 0, 0, 0, leftCurveEndX, leftCurveEndY, rightCurveEndX, rightCurveEndY);//Creates a new frame
requestAnimFrame(animloop);
})();
. chopElement
함수에 requestAnimFrame(animloop);
콜백 함수가 있습니다.
또한이 API를 사용하는 데 대한 자세한 지침이 있습니까?
이 질문이있다 – Jan
일반적으로 JS 반환 값에주의를 기울여야한다. 반환 후 개행을 제거하면이 값이 작동한다. –