首先,我是新来的画布,我一直试图围绕这个包裹2天,所以我非常感谢任何帮助。我的目标是让绿色矩形一次向上移动1个像素(这个数量目前并不重要),但是我最终也会想要为红色的做同样的事情。如果我注释了for循环,你可以在我想要的起始位置看到矩形,但是当我将for循环添加回画布时,在理论上我是希望绿色矩形向上移动。 (或者向下,实际上并不重要)。如何使用for循环来移动画布中的矩形位置
$(document).ready(function() {
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d"),
cw = canvas.width,
ch = canvas.height;
function rectangles() {
var y = 0;
// Starting point rectangles
ctx.save();
ctx.clearRect(0, 0, cw, ch);
ctx.beginPath();
ctx.fillStyle = "#006847";
ctx.fillRect(0, 0, 200, 450);
ctx.closePath();
ctx.beginPath();
ctx.fillStyle = "#CE1126";
ctx.fillRect(400, 0, 200, 450);
ctx.closePath();
ctx.save();
/*for (i = 0; i < 450; i++) {
y = y + 1;
ctx.beginPath();
ctx.fillRect(0, y, 200, 450);
ctx.closePath();
ctx.clearRect(0, 0, cw, ch);
}*/
}
setInterval(rectangles, 2000);
});
CSS : #canvas {
border: 3px #000 solid;
margin: 0 auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div id="canvas-container">
<canvas id="canvas" height="450" width="600"></canvas>
</div>
谢谢你提供这个。 @暹 – Xander