Gravity False 倾斜到位的 SpriteKit 节点

SpriteKit Nodes with Gravity False tilted in place

我正在构建一个菜单游戏场景,其中有一个徽标和 4 个按钮,所有这些按钮都有一个 SKPhysicsBody,其图像的矩形大小。 所有这些我只设置:

logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size)
logo.physicsBody?.affectedByGravity = false

创建对象的完整代码(都是一样的)

logo = SKSpriteNode(imageNamed: "logo")
logo.anchorPoint = CGPoint.zero
logo.name = "logo"
logo.zPosition = 2
logo.size = CGSize(width: 309, height: 272)
logo.setScale(Generic.utilities.getScale())
self.addChild(logo)
logo.position = CGPoint(x: self.frame.width/2 - logo.size.width/2, y: self.frame.height - logo.size.height - 40)
logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size)
logo.physicsBody?.affectedByGravity = false

在按下按钮的过程中,我将所有节点 affectedByGravity 更改为 true,这样它们就可以从屏幕上掉下来,并且新元素可以进入。

我遇到的问题是,当我 运行 应用程序时,所有元素都 shifted/tilted 在屏幕上,而不是在它们的原始位置

我只想让它们保持原位,直到我单击其中一个按钮,然后它们就会从屏幕上掉下来。

为什么当我设置物理体和 affectedByGravity 时它们都像这样倾斜?

好吧,感谢@RonMyschuk 和@Knight0fDragon 我发现(之前不知道)我可以添加到我的场景加载以下内容:

skView.showsPhysics = true

在节点的 physicsBody 周围添加边界线,这样您就可以看到它们相互作用。通过这样做,我看到我的一个节点的 physicsBody 完全处于不同的位置,然后它应该

通过解决这个问题,一切恢复正常