由于某种原因,当我在此场景中为此SKSpriteNodes创建SKPhysicsBody时,物理实体看起来比它们应该的要小得多。例如(请忽略蓝链):

ios - SKPhysicsBody出现微小-LMLPHP

如您所见,形状在其下方复制,但主体明显更高。同样,这似乎是视觉上的故障,因为我碰到了更靠近形状的“隐形墙”。这是我用于形状物理物体的代码:

self.outline.physicsBody = SKPhysicsBody(texture: self.outline.texture, size: self.outline.size)
self.outline.physicsBody?.dynamic = false
self.outline.physicsBody?.affectedByGravity = false

如果有人能解释为什么会这样,那将不胜感激。谢谢!

编辑:我读某处可能是因为我正在更改节点的锚点。当我删除它时,我得到了相同的形状,只是在节点的上方。

最佳答案

我发现了一些对我有用的东西。我变了:

self.outline.physicsBody = SKPhysicsBody(texture: self.outline.texture, size: self.outline.size)


self.outline.physicsBody = SKPhysicsBody(texture: self.outline.texture, size: self.outline.texture!.size())

采取纹理大小而不是节点本身的大小似乎是可行的。希望这对某些人有帮助!

关于ios - SKPhysicsBody出现微小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31703822/

10-11 00:36