在 SpriteKit 中禁用 SKNode 的旋转
Posted
技术标签:
【中文标题】在 SpriteKit 中禁用 SKNode 的旋转【英文标题】:Disable rotation of SKNode in SpriteKit 【发布时间】:2018-07-17 04:05:06 【问题描述】:我有一个玩家,它的物理身体是一个圆圈。
可以把它想象成有一只像SKNode
那样飞扬的鸟,用一个圆圈作为物理体。现在每次我施加脉冲时,我都希望物理体旋转,但我不想让鸟旋转
我正在使用physicsbody.allowrotation = true
,但这也会旋转节点(鸟)。我希望鸟不旋转,但物理体应该旋转。
【问题讨论】:
您是否将小鸟作为圆的子节点? 【参考方案1】:您可以将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))]
【讨论】:
以上是关于在 SpriteKit 中禁用 SKNode 的旋转的主要内容,如果未能解决你的问题,请参考以下文章
SpriteKit - 对在多个 SKNode 上运行的多个 SKAction 进行排序
子类化使用 SpriteKit .sks 场景文件创建的 SKNode