HTML5 JavaScript-将对象旋转到面目标

HTML5 JavaScript-将对象旋转到面目标,javascript,html,rotation,Javascript,Html,Rotation,我试图让我的目标始终面对我的球员,但我正在努力解决它背后的数学问题。到目前为止,我的物体在我的玩家移动的任何地方都会旋转,但它是不一致的 这是我用来旋转对象的: var targetX = player.x - this.width/2; var targetY = player.y - this.height/2; this.rotation = Math.atan2(targetY, targetX); ctx.transform(1, 0, 0, 1, this.x, this.y);

我试图让我的目标始终面对我的球员,但我正在努力解决它背后的数学问题。到目前为止,我的物体在我的玩家移动的任何地方都会旋转,但它是不一致的

这是我用来旋转对象的:

var targetX = player.x - this.width/2;
var targetY = player.y - this.height/2;

this.rotation = Math.atan2(targetY, targetX);
ctx.transform(1, 0, 0, 1, this.x, this.y);

//ART WORK
ctx.save()
    ctx.translate(15, 15);
    ctx.rotate(this.rotation);

    ctx.fillStyle = "866c4a";
    ctx.fillRect(-15, -15, this.width, this.height);
ctx.restore();
就像我说的,它不能正常工作,我相信这与我的数学有关

谢谢

很好

我立刻发现了问题所在。我没有考虑物体的位置:

var targetX = player.x - this.x;
var targetY = player.y - this.y;

this.rotation = Math.atan2(targetY, targetX);
ctx.transform(1, 0, 0, 1, this.x, this.y);

//ART WORK
ctx.save()
    ctx.translate(15, 15);
    ctx.rotate(this.rotation);

    ctx.fillStyle = "866c4a";
    ctx.fillRect(-15, -15, this.width, this.height);
ctx.restore();
我会把这个QnA留下,以防有人碰到这个。:)