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