我是Spritekit的新手,我在一些简单的事情上遇到了麻烦。

我在做弹球游戏。为了检测与球的碰撞并奖励积分,保险杠具有以下设置:

categoryBitMask

collisionBitMask

contactTestBitMask


但是,一旦设置了categoryBitMask,该对象将不再以相同的方式起作用。球穿过保险杠。

我尝试在代码中设置属性以镜像SKS文件中设置的内容:

    physicsBody?.isDynamic
    physicsBody?.affectedByGravity
    physicsBody?.allowsRotation
    physicsBody?.pinned
    physicsBody?.mass


但这没有任何区别。

设置categoryBitMask后,如何使SKSpriteNode保持其物理属性?

最佳答案

我发现了问题。我是在一个物体上设置碰撞,但在另一个物体上没有设置碰撞

ball.collisionBitMask = ...包含保险杠
ball.contactTestBitMask = ...包含保险杠

但不是保险杠:
bumper.collisionBitMask = ...不包含球
bumper.contactTestBitMask = ...不包含球

关于ios - SpriteKit categoryBitMask问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56155776/

10-13 04:21