如何使用Swift在SpriteKit中旋转SpriteNode?

时间:2016-04-30 14:55:23

标签: swift sprite-kit

大家好,我现在正在编写一个游戏,我有一个小问题,我不明白。

当我按下SpriteNode时,我希望它完全旋转360度然后静止不动。我怎样才能做到这一点?我用M_PI尝试了它,但它没有用。多数民众赞成我是如何做到的:

let rotate= SKAction.rotateToAngle(M_PI, duration: 0.5)
    restart.runAction(rotate)

2 个答案:

答案 0 :(得分:0)

RotateTo会将Sprite旋转到度/ rad。 RotateBy会将Sprite旋转一定数量的rad /度。因此,要将对象旋转360度,请使用rotateBy并将360转换为rads。

在您当前的情况下,您正在告诉当前处于旋转0的对象(与旋转360相同),以旋转到位置360,因此它会立即完成操作,因为它已经存在。

答案 1 :(得分:0)

尝试使用rotateByAngle:

let rotate= SKAction.rotateByAngle(CGFloat(M_PI), duration: 0.5)
restart.runAction(rotate)