SKPhysicsBody 看起来很小

SKPhysicsBody Appearing Tiny

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

如您所见,形状在其下方复制,但主体要高得多。此外,这似乎是一个视觉故障,因为我在更接近形状的地方打了一个 "invisible wall"。这是我用于形状物理体的代码:

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())

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