在SpriteKit中禁用SKNode的旋转

时间:2018-07-17 04:05:07

标签: ios swift sprite-kit skspritenode skphysicsbody

我有一个球员,所以以物理身体为圆。 可以想象它是一只像SKNode那样的飘扬的小鸟,它的圆圈是物理物体。现在,每次我施加脉冲时,我都希望物理体旋转,但是我不想鸟旋转。


我正在使用physicsbody.allowrotation = true,但是这也会旋转节点(鸟)。我希望鸟不旋转,但是物理物体应该旋转。

1 个答案:

答案 0 :(得分:0)

您可以将SKConstraint添加到SKSpriteNode的限制旋转中。

let birdSprite = SKSpriteNode(imageNamed: "bird.png")
birdSprite.physicsBody = SKPhysicsBody(circleOfRadius: max(birdSprite.size.width / 2, birdSprite.size.height / 2))
birdSprite.physicsBody.allowsRotation =  true
birdSprite.constraints = [SKConstraint.zRotation(SKRange(lowerLimit:0 upperLimit:0))]