我有一个带有精灵的玩家类,我想让它面向我的鼠标指针。
我正在使用它来计算精灵的旋转应该是什么:
this.rotation = -(Math.atan2(this.x - mouseState.x, this.y - mouseState.y) * 180 / Math.PI);
然后在我Player
班级的 draw 方法中,我正在这样做:
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
)周围疯狂地移动。
如何使精灵面向鼠标光标,同时使用其中心点作为原点?