私は、drawCircle関数を使ってhtml5キャンバス(this.ctx)上に円を描画しています。今度はCircle関数を使ってcirlceを別の位置に移動したいと思います。サークルがある場所から別の場所に移動するのを見る方法はありますか?この時点では、ユーザーの前のサークルを削除する方法がわかりません。オブジェクトに弧を割り当てることができますか?html5キャンバスで円を移動する
customobject.prototype.drawCircle = function drawCircle(userID, x, y) {
var radius = 10;
this.ctx.beginPath();
this.ctx.arc(100, 00, 10, 0, Math.PI*2, true);
this.ctx.closePath();
this.ctx.fillStyle = 'blue';
this.ctx.fill();
this.ctx.lineWidth = 2;
this.ctx.strokeStyle = '#003300';
this.ctx.stroke();
}
customobject.prototype.moveCircle = function moveCircle(userID, x, y) {
}
私は潜在円(アニメーションではない - それを動かす)を削除する方法を参照しました: - でしょう。この場合には、私は、元の円の座標を指定しますので、>それ
remove circle(x, y, radius){
this.ctx.globalCompositeOperation = 'destination-out'
this.ctx.arc(x, y, radius, 0, Math.PI*2, true);
this.ctx.fill();
}
を切る?
私は円を動かして投稿するthisも見ました。しかし、私は複数のサークルでそれを行う方法を知らない。
複数の円がある場合、最良の方法はeasel.jsのようなライブラリを使用することです。利点は、各オブジェクトにIDを与えることができ、個別にアクションを実行できることです。そして、あなたがカスタム・アプローチを使用している場合は、@ philippが正しいと思いますが、キャンバスをクリアして、requestAnimationFrame()を使用してすべてを再描画する必要があります。 –
複数の円がある場合、 '[{start :, end :, p1:{}、p1:{}、...}、{...}、...]'のような単純な配列を使うこともできます。そしてそれをループしてそれぞれをレンダリングします。しかし、より多くの形、スタイル、イージング関数が必要な場合は、ライブラリよりも優れています。 – philipp