swift - 碰撞检测导致颜色检测?

标签 swift collision-detection collision skspritenode color-detection

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

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

最佳答案

我的建议是,将“一对”墙更改为三堵墙。第三面墙应该有一个不同的类别BitMask。 (PhysicsCategory.wallSpace 似乎适合您当前的命名方案。)

此“wallSpace”需要放置在两个现有墙壁之间。通过颜色更改逻辑,它应该被赋予与其同级相同的颜色,但这里有一个技巧:将其 alpha 设置为 0。

这样您就可以检查这面看不见的墙和您的球之间的碰撞,并根据颜色信息执行操作。

关于swift - 碰撞检测导致颜色检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849475/

相关文章:

ios - swift 4 : Unable to push ViewController upon button click.

java - libGdx:Intersector.intersectLines(似乎)返回错误结果?

java - 获取矩形碰撞的方向

java - 如何让球顺利滚出角落?

ios - 如果过滤器返回 nil,我如何不返回空结果?

ios - 具有自定义单元格的 TableView 重复包含图像的第一个和最后一个单元格

c++ - 在 SFML 2.4 中使用碰撞检测来增加游戏分数的问题

javascript - 在 JavaScript 中生成 UUID 时的冲突

swift - 无法验证处理程序。使用未解析的标识符 'CGLocalPlayer'

javascript - 解决两个二维元素的碰撞