我是Spritekit的新手,我在一些简单的事情上遇到了麻烦。
我正在做一个弹球游戏。为了检测与球的碰撞并奖励积分,保险杠具有以下设置:
categoryBitMask
collisionBitMask
contactTestBitMask
但是,一旦我设置了categoryBitMask,该对象就不再以相同的方式工作。球穿过保险杠。
我尝试在代码中设置属性以镜像SKS文件中设置的内容:
physicsBody?.isDynamic
physicsBody?.affectedByGravity
physicsBody?.allowsRotation
physicsBody?.pinned
physicsBody?.mass
但这没有任何区别。
设置categoryBitMask后,如何使SKSpriteNode保持其物理属性?
答案 0 :(得分:0)
我发现了问题。我是在一个对象上设置碰撞,而在另一个对象上没有设置
ball.collisionBitMask = ...包含保险杠 ball.contactTestBitMask = ...包含保险杠
但不是保险杠: bumper.collisionBitMask = ...不包含球 bumper.contactTestBitMask = ...不包含球