将精灵旋转到矢量方向

问题描述 投票:1回答:1

我在数学方面不是太擅长,但我想要完成的是将我的精灵旋转到应用于它的矢量脉冲的方向。我的游戏是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度,使其看起来面向其行进的方向?

swift vector sprite-kit
1个回答
3
投票

sprite.zRotation = atan(unitVector.dy, unitVector.dx)这样的东西?

© www.soinside.com 2019 - 2024. All rights reserved.