Javascript 在这种情况下,为什么clearRect不能正常工作?
这就是我所拥有的,但是Javascript 在这种情况下,为什么clearRect不能正常工作?,javascript,canvas,Javascript,Canvas,这就是我所拥有的,但是clearRect并没有像我期望的那样工作。箱子上留下了痕迹 <canvas id="canvas"></canvas> <script> var ctx = document.getElementById('canvas').getContext("2d"); var x=0; !function loop() { requestAnimationFrame(loop); ctx.clearRect(0, 0, c
clearRect
并没有像我期望的那样工作。箱子上留下了痕迹
<canvas id="canvas"></canvas>
<script>
var ctx = document.getElementById('canvas').getContext("2d");
var x=0;
!function loop() {
requestAnimationFrame(loop);
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
ctx.rect(x++, 10, 80, 80);
ctx.stroke();
}();
</script>
var ctx=document.getElementById('canvas').getContext(“2d”);
var x=0;
!函数循环(){
请求动画帧(循环);
clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
rect(x++,10,80,80);
ctx.stroke();
}();
问题与ctx.clearRect
无关
ctx.rect
将添加到,但您永远不会开始或结束一个新路径,因此对ctx.rect
的所有调用都将添加到同一路径,累积矩形
开始和结束新路径:
ctx.beginPath();
ctx.rect(x++, 10, 80, 80);
ctx.closePath();
ctx.stroke();
或使用:
ctx.strokeRect(x++, 10, 80, 80);