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>
のような関数を呼び出すことができます正方形の内部の機能を使用するためには
新しい誰かから、このようなよく書か答えはブラボー –
感謝をスタックに君は。私は数年前からコーディングをしてきました。スタックを手助けしたいと思っていましたので、良い入力を提供できることはとても嬉しいです。 –
これは私を消化して理解するのに少し時間がかかりますが、十分に文書化された答えに感謝します。 – Travis