スプライトを使用したプレーヤークラスがあり、マウスポインタの方を向くようにします。
私はこれを使用して、スプライトの回転がどうあるべきかを理解しています。
this.rotation = -(Math.atan2(this.x - mouseState.x, this.y - mouseState.y) * 180 / Math.PI);
次に、Player
クラスの描画メソッドでこれを実行します。
Player.prototype.draw = function() {
window.ctx.save();
window.ctx.translate(this.x + this.sprite.width / 2, this.y + this.sprite/height / 2);
window.ctx.rotate(this.rotation);
window.ctx.drawImage(this.sprite, this.x, this.y);
window.ctx.restore();
}
それは何かをしますが、私が望むことではありません。スプライトは、キャンバスの左上を中心に円を描くように激しく動いているようです(x:0, y:0
)。
スプライトの中心点を原点として使用して、スプライトをマウスカーソルの方に向けるにはどうすればよいですか?