0
最近我一直在用画布搞乱,并且遇到了我无法克服的障碍。我学会了如何创建形状,为它们制作动画,并在整个画布中循环相同的形状(无论是x还是y)。这很难解释,但我无法弄清楚如何在一段时间后在第一个后面产生另一个形状。我希望它几乎是水平移动的正方形网格。如何用画布创建动画形状的不断循环?
我想找到一种方法来将整个循环与形状的代码放入一个变量,然后使一个setTimeout()
在一定的毫秒数后再次产生整个事物,但我不知道是否这将工作。
function draw(x,y) {
// Put canvas in variable
var canvas = document.getElementById('canvas');
// Enable drawing
var ctx = canvas.getContext('2d');
// Start drawing
ctx.save();
ctx.clearRect(0, 0, 550, 400);
for(var i = 0 ; i < 400 ; i+=10){
ctx.fillStyle = "rgb(0, 200, 0)";
ctx.fillRect(x, i, 5, 4);
}
ctx.restore();
x += 0.3;
var loopTimer = setTimeout('draw('+x+', '+y+')', 0.1);
}
draw(0,0);
canvas {
margin-left: 200px;
width: 550px;
height: 400px;
border: 1px solid #111111;
}
<canvas id="canvas"></canvas>
我万万没有想到,从一个新的人这样一个良好的书面答复堆栈喝彩 – 2016-07-23 21:46:43
谢谢您。我已经编了几年了,我一直想帮忙,所以我很高兴能够提供很好的输入。 –
这将花费我一些时间来消化和理解,但是感谢你提供了详细记录的答案。 – Travis