我无法使用clearRect
在画布上跨X
方向平移的方法完全清除矩形。这个问题可以在JS Bin 现场看到 - 演示链接
JS代码
(function() {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.fillStyle = '#ccc';
context.fillRect(0, 0, 100, 50); //x,y,w,h
translate(canvas, context, 0, 0, 100, 50, 'x', 5);
function translate(canvas, context, x, y, w, h, direction, interval) {
context.fillRect(x, y, w, h);
if (direction == 'x') {
if ((x + interval + w >= canvas.width) || (x + interval < 0)) interval = -1 * interval;
setTimeout(function() {
context.clearRect(x, y, w, h);
translate(canvas, context, x + interval, y, w, h, direction, interval);
}, 1000);
}
}
}());
它在前进/后退之前留下痕迹。我使用相同的尺寸来清除用于绘制它的矩形。
请观察观察问题的完整路径。