私はキャンバスで回転するハンドルを取得しようとしていますが、私は私の問題の答えが見つかりませんでした。HTML 5キャンバス。 1つのオブジェクト(> 1)だけを回転(回転を維持)する方法?
1つの正方形はまだ残っています。指定された点で回転する別の正方形。その時点でキャンバス全体を回転させるか、まったく回転させないかのどちらかです。しかし、1つの正方形を静的に、1つを回転させることはできません。
ここに私のcodepenデモをご覧ください:http://codepen.io/richardk70/pen/EZWMXx
のjavascript:
HEIGHT = 400;
WIDTH = 400;
function draw(){
var ctx = document.getElementById("canvas").getContext('2d');
ctx.clearRect(0,0,WIDTH,HEIGHT);
// draw black square
ctx.save();
ctx.fillStyle = "black";
ctx.beginPath();
ctx.fillRect(75,75,100,100);
ctx.closePath();
ctx.restore();
// attempt to rotate small, maroon square only
ctx.save();
ctx.translate(225,225);
// small maroon square
ctx.fillStyle = "maroon";
ctx.beginPath();
ctx.fillRect(-25,-25,50,50);
ctx.closePath();
ctx.rotate(.1);
ctx.translate(-225,-225);
// comment out below line to spin
// ctx.restore();
window.requestAnimationFrame(draw);
}
window.requestAnimationFrame(draw);
を私は層状のキャンバスを行うことができます知っているが、確かにそれはちょうど1つの帆布層で行うことができますか?このチュートリアル(https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations)の時計は正確にそれをしていませんか?
ありがとうございました。
あなたがリンクの例を見れば、それはので、各描画呼び出しがわずかに惑星をシフトし、現在の時刻に基づいて回転量を調整します。コンテキスト内でローテーションを蓄積しようとしていますが、それはどのように動作しているのではありません。 – DrC