Почему мой SKSprite не реагирует на коллизии, когда он прикреплен к SKPhysicsJointPin?

На изображении ниже вы можете увидеть 3 спрайта, все с прикрепленными к ним SKPhysicsBodies. Красный кружок — это точка поворота, а синий прямоугольник — «лопасть», прикрепленная к поворотному устройству с помощью SKPhysicsJointPin. Весло работает как надо. Гравитация заставляет его раскачиваться вперед и назад, и если у меня есть другие поля в этом районе, они также заставят весло покачиваться.

Однако единственное, что не работает, — это столкновения. Если зеленый шарик попадает в ракетку, зеленый мячик отскакивает от нее, но ракетка абсолютно ничего не делает. Мяч как масса = 1,0, и я установил весло на массу = 0,1, поэтому мяч должен иметь очень заметный эффект, когда он ударяется о весло.

Что мне не хватает?

красный = петля, синий = лопасть, зеленый = шар


person BGreenstone    schedule 10.07.2014    source источник
comment
что у вас как коллизия? Вы устанавливаете его как bluePaddleNode.physicsBody.contactTestBitMask = greenBall;? или bluePaddleNode.physicsBody.collisionBitMask = greenBall;? Я заметил, что при выполнении contactBitMask он замечает только контакт. Когда я использовал CollisionBitMask, он сам реагирует в приложении. Не забудьте сделать то же самое с greenBallNode.physicsBody.collisionBitMask = bluePaddle; или greenBallNode.physicsBody.contactBitMask = bluePaddle; также   -  person user2277872    schedule 10.07.2014


Ответы (1)


Да, ты прав. Вот что бывает, когда я работаю по 14 часов в день. У меня была маска столкновения на мяче, поэтому мяч попадал в ракетку, но у меня не было маски на ракетке, поэтому ракетка не реагировала на мяч. Теперь все исправлено :)

person BGreenstone    schedule 10.07.2014