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



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

这是一个精灵落在SKLabelNode后面的截图。我让标签的zPosition = 1,所以它在精灵的前面,但物理实体的轮廓显示出来:这是一张标签节点的图片,上面有一条几乎不可见的小线,但这正是我设置精灵物理体的位置

正如你所看到的,精灵消失在标签后面,但物理实体没有。

这是游戏在屏幕上的另一张图像,它只是在游戏场景中添加了许多节点,游戏动作在背景中暂停。正如你所看到的,精灵的轮廓仍然清晰可见:下面是第二个例子

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

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

那么我如何让精灵的物理体透明/不可见?任何帮助将不胜感激!

有一个标志,当设置时,允许您看到物理体。这对于检查碰撞等非常有用。在GameviewController中,注释出视图。showphysics = true。所以

//view.showsPhysics = true