使用SpriteKit沿弧线旋转SKSpriteNode

时间:2015-01-05 22:02:43

标签: ios animation rotation sprite-kit skspritenode

我正在试图找出一种方法,用于在沿着弧形路径飞行(受重力影响)时旋转SKSpriteNode对象。我正在使用SpriteKit并使用applyImpulse抛出对象。问题是,尽管在空中的弧形路径中行进,物体仍保持在相同的位置。

想象一下射手射箭。箭头向上射击,应朝那个方向指向上方。一旦箭头开始沿弧线下降,它应该开始向下旋转。

有没有办法使用SpriteKit物理自动化?我应该用不同的方式抛出箭头而不是使用applyImpulse吗?我是否需要根据物体速度自行提出一些算法进行旋转?

1 个答案:

答案 0 :(得分:4)

在您的didSimulatePhysicsupdate中,您可以将精灵旋转到其矢量。不确定是否有办法自动实现这一点。

let angle = atan2(mySprite.physicsBody!.velocity.dy, mySprite.physicsBody!.velocity.dx)
mySprite.zRotation = angle