Swift 将精灵旋转到向量的方向

Swift 将精灵旋转到向量的方向,swift,vector,sprite-kit,Swift,Vector,Sprite Kit,我的数学不是很好,但我正在努力实现的是将我的精灵旋转到应用于它的向量脉冲的方向。我的游戏是2D的 如果我在雪碧下面点击,它会向上,如果我在雪碧下面点击,向右,它会向上,向左,等等 我这样做是通过对我的精灵应用一个归一化向量(单位向量?)脉冲,这是我从精灵和我的水龙头之间的位置差得到的 let x = (ball.position.x - location.x) let y = (ball.position.y - location.y) let vectorLength = sqrt((x*x

我的数学不是很好,但我正在努力实现的是将我的精灵旋转到应用于它的向量脉冲的方向。我的游戏是2D的

如果我在雪碧下面点击,它会向上,如果我在雪碧下面点击,向右,它会向上,向左,等等

我这样做是通过对我的精灵应用一个归一化向量(单位向量?)脉冲,这是我从精灵和我的水龙头之间的位置差得到的

let x = (ball.position.x - location.x)
let y = (ball.position.y - location.y)

let vectorLength = sqrt((x*x) + (y*y))
// Ignore constants
let unitVector = CGVector(dx: (x/vectorLength) * 25, dy: (y/vectorLength) * 50)

ball.physicsBody!.applyImpulse(unitVector)
现在我想完成的是,能够沿着向量的方向旋转精灵


因此,例如,如果我的精灵以45度角向上向左移动,我如何使用向量逆时针旋转精灵45度,使其看起来面向其移动的方向?

类似于
sprite.zRotation=atan(unitVector.dy,unitVector.dx)

我认为这是atan2的一个小错误?