знать, что skspritenode полностью переместился через другой skspritenode - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь выяснить, что SKSpriteNode полностью перебрал другой SKSpriteNode. Этот код, который я до сих пор придумал,

if (node.frame.maxY == player.frame.minY) {
    player.physicsBody?.collisionBitMask = collisionTypes.vortex.rawValue
}

Я знаю, что это достаточно просто, но я здесь потерян.

1 Ответ

0 голосов
/ 05 февраля 2020

Установите свойства contactTestBitMask для обоих объектов. затем определить, когда они сталкиваются в потоке didBegin c, а затем определить, когда они прекратили сталкиваться в потоке didEnd c

player.physicsBody?.contactTestBitMask = collisionTypes.bullet.rawValue
bullet.physicsBody?.contactTestBitMask = collisionTypes.player.rawValue

func didBegin(_ contact: SKPhysicsContact) {
    //detect your collision and do what you need to do
    //maybe set a bool to true if you have multiple collision types
}

func didEnd(_ contact: SKPhysicsContact) {
    //check that the above collison is the one that ended
    //run appropriate code for end collision
}
...