通过我的 swift SpriteKit 游戏中的所有其他节点显示物理体的轮廓

outline of physics body is showing through all other nodes in my swift SpriteKit game

我正在制作一个精灵从天而降的游戏,这些精灵与玩家进行碰撞测试。但是,精灵周围的物理体通过我在它们上面添加的所有标签和精灵节点显示出来。我不认为物理体甚至有颜色或任何东西,但出于某种原因我可以在我的游戏中看到它们。

这是落在 SKLabelNode 后面的精灵的屏幕截图。我将标签的 zPosition = 1 设置为在精灵前面,但物理体的轮廓显示如下: Here is a picture of the label node with a small line that is barely visible but is exactly where I set the sprite's physics body to be

如您所见,精灵消失在标签后面,但物理体没有。

这是另一张游戏结束画面,只是在游戏场景中添加了很多节点,游戏动作在后台暂停。如您所见,精灵的轮廓仍然清晰可见: Here is the second example

这是我创建精灵物理体的代码:

obstacle.physicsBody = SKPhysicsBody(rectangleOf: obstacle.size)
obstacle.physicsBody?.isDynamic = true
obstacle.physicsBody?.categoryBitMask = obstacleCategory
obstacle.physicsBody?.contactTestBitMask = playerCategory
obstacle.physicsBody?.collisionBitMask = 0
obstacle.physicsBody?.usesPreciseCollisionDetection = false

那么如何制作精灵的物理体transparent/invisible呢? 如有任何帮助,我们将不胜感激!

有一个标志,设置后,您可以看到物理物体。这对于检查碰撞等很有用。 在GameviewController中,注释掉view.showsPhysics = true。所以

//view.showsPhysics = true