我在这里开始了一个项目,遇到了一个小问题。
https://jsfiddle.net/kylebrown219/gn10Lh8g/

在jsFiddle中,您可以单击并创建任意数量的圈子。当您按“ Spawn”时,您会看到一个Rectangle在屏幕上移动。我如何摆脱这条小径而又不抹掉它后面的圈子?
我认为这是问题所在:

context.clearRect(myRectangle.x, myRectangle.y, myRectangle.width, myRectangle.height);


谢谢!

最佳答案

根据您的需求;如果您只是在追求动画,可以使用以下小技巧:

在绘制矩形之前,将画布的当前内容设置为元素的背景:

canvas.style.backgroundImage = "url(" + canvas.toDataURL() + ")";


然后,在设置动画时,清除整个画布,然后在当前位置重新绘制矩形:

context.clearRect(0,0,canvas.width,canvas.height);
drawRectangle(myRectangle, context);


Modified fiddle

要清除所有内容,只需重置背景样式(“无”)并清除即可。

当然,您将必须限制生成按钮,或存储圆圈(作为对象)以进行重绘(在这种情况下,您本可以用来重绘背景)。

09-07 12:37