将精灵旋转到矢量方向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将精灵旋转到矢量方向相关的知识,希望对你有一定的参考价值。
我在数学方面不是太擅长,但我想要完成的是将我的精灵旋转到应用于它的矢量脉冲的方向。我的游戏是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)
这样的东西?
以上是关于将精灵旋转到矢量方向的主要内容,如果未能解决你的问题,请参考以下文章