I'm trying to find the source of the following skspritenode strange behavior: sometimes it just doesn't execute .run(...) or executes incompletely . I couldn't find any regularity in it, so I'd like to know, if it is a known problem?
func didBegin(_ contact: SKPhysicsContact) {
let firstBody = contact.bodyA
let secondBody = contact.bodyB
if firstBody.categoryBitMask == CollisionBitMask.birdCategory && secondBody.categoryBitMask == CollisionBitMask.BonusCategory {
secondBody.node?.removeFromParent()
print("contact began")
firstBody.node?.run(SKAction.run {
print("run works")
})
}
else if firstBody.categoryBitMask == CollisionBitMask.BonusCategory && secondBody.categoryBitMask == CollisionBitMask.birdCategory {
firstBody.node?.removeFromParent()
print("contact began")
secondBody.node?.run(SKAction.run {
print("run works")
})
}