swift中的didBegin方法并未针对所有碰撞被调用

时间:2019-03-17 18:26:54

标签: ios swift sprite-kit

我正在创建一个游戏,其中球可以穿过相同颜色的杆,但是如果杆是另一种颜色,则该球会碰撞并结束游戏。最初,当有两个极点时,我的碰撞检测方法有效,但是现在我添加了第三个,但它不起作用。额外的极点的增加对碰撞没有影响。但是,现在该游戏将无法检测到第三杆的碰撞,无论颜色如何,它始终会与第二杆碰撞,并且第一杆可以按预期工作。极是一类,所有三个极都是该类的对象。 didBegin方法。甚至没有被要求成为第三极,我不确定为什么

 ball?.physicsBody?.categoryBitMask = 1
    ball?.physicsBody?.collisionBitMask = 2
    ball?.physicsBody?.contactTestBitMask = 2

在极点类中:

   self.physicsBody?.categoryBitMask = 2
    self.physicsBody?.collisionBitMask = 1
    self.physicsBody?.contactTestBitMask = 1

0 个答案:

没有答案