碰撞检测导致颜色检测?

Collision detection leading to color detection?

当我在两个带球的矩形中间与SKSpriteNode碰撞时,如何检查球和两个矩形的颜色是否相同?

例如,如果我的两个矩形是红色的,而我的球是蓝色的,我想让它检测到我的矩形和球的颜色不同。如果它们是相同的颜色,那么我不想发生任何事情。如果不是,我将编写让玩家输的代码。但是当球碰撞位于两个矩形中间和之间的skspritenode时,如何检测颜色差异?

我的建议是,您将 "pair" 面墙改为三面墙。这第三面墙应该有一个不同的类别位掩码。 (PhysicsCategory.wallSpace 似乎符合您当前的命名方案。)

此 "wallSpace" 需要放置在 两堵现有墙之间 之间。通过您的颜色更改逻辑,它应该被赋予与它的兄弟姐妹相同的颜色,但是技巧来了:将它的 alpha 设置为 0。

这样您就可以检查这面隐形墙与您的球之间是否发生碰撞,并根据颜色信息执行操作。