Взаимодействие между объектами

swift

#1

Здравствуйте, никак не могу нормально сделать, чтоб ы одним объектом можно было отбивать другой… С помощью Player мне нужно отбивать ball, но вместо отбивания получается какой-то бред, помогите?
их взаимодействия прописываю так:

if ((contactBody1.categoryBitMask == PhysicsCategory.Ball) && (contactBody2.categoryBitMask == PhysicsCategory.Player)) {
        let myVector = CGVector(dx: 8, dy: 8)
       ball.physicsBody?.applyImpulse(myVector)
    }

нашла как примерно это делается, вот только это прописывается в touchesBegan, а мне нужно в didBegin можно это как-то сделать?

let touch = touches.first as UITouch!
    let touchPosition = touch?.location(in: self)
    
    if (touchPosition?.x)! < self.frame.midX {
        ball.physicsBody?.applyImpulse(CGVector(dx: 10, dy: 0))
    } else {
        ball.physicsBody?.applyImpulse(CGVector(dx: -10, dy: 0))
    }

Отбить один объект другим