禁用SpriteKit中SKNode的旋转



我有一个玩家,所以物理体是一个圆。把它想象成有一只像SKNode一样的翅膀鸟,一个圆圈作为物理体。现在,每次我施加脉冲时,我都希望物理体旋转,但我不希望鸟旋转


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

您可以将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))]

最新更新