当我用球与两个矩形中间的 SKSpriteNode 碰撞时,如何检查球和两个矩形的颜色是否相同?
例如,如果我的两个矩形是红色,而我的球是蓝色,我希望它检测到我的矩形和球的颜色不同。如果它们的颜色相同,那么我不希望发生任何事情。如果不是,我将编写使玩家失败的代码。但是当球碰撞位于两个矩形中间和之间的 skspritenode 时,如何检测颜色差异?
最佳答案
我的建议是,将“一对”墙更改为三堵墙。第三面墙应该有一个不同的类别BitMask。 (PhysicsCategory.wallSpace
似乎适合您当前的命名方案。)
此“wallSpace”需要放置在两个现有墙壁之间。通过颜色更改逻辑,它应该被赋予与其同级相同的颜色,但这里有一个技巧:将其 alpha 设置为 0。
这样您就可以检查这面看不见的墙和您的球之间的碰撞,并根据颜色信息执行操作。
关于swift - 碰撞检测导致颜色检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849475/