我尝试在canvas中动画简单的对象,一开始可以运行,但过一段时间后就停止清除矩形,并继续填充新的矩形。至少我认为它停止了清除,也许是其他什么问题。有人能帮我吗?没有控制台错误。
var canvas = document.querySelector('canvas');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var c = canvas.getContext('2d');
var x=100;
function animate() {
requestAnimationFrame(animate);
c.clearRect(0,0,window.innerHeight,window.innerWidth);
c.beginPath();
c.fillRect(x,100,100,100);
x+=2;
}
animate();
body{
margin: 0;
}
canvas{
background: orange;
}
<canvas></canvas>
requestAnimationFrame
。 - IburequestAnimationFrame
将给定的函数放入堆栈中,在线程“结束”后执行,因此在哪里调用它都无所谓。 - Al.G.