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);
}
}
}());
前進/後退する前に痕跡を残しています。そして、同じ寸法を使用して、描画に使用された長方形をクリアしました。
問題を観察するための完全なパスを観察してください。