Метод didBegin в swift не вызывается для всех коллизий - PullRequest
0 голосов
/ 17 марта 2019

Я создаю игру, в которой мяч может проходить через полюса одного цвета, но сталкивается и заканчивает игру, если полюс другого цвета. Первоначально мой метод обнаружения столкновений работал, когда было два полюса, но теперь я добавил третий, и он не работает. Добавление дополнительного полюса не должно иметь никакого отношения к столкновениям. Однако теперь игра не будет обнаруживать столкновения третьего полюса, всегда будет сталкиваться со вторым независимо от цвета, и первый полюс работает, как и ожидалось. Полюс - это класс, и все три полюса являются объектами этого класса. Метод 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
...