SKPhysicsContact crash - Bad Access

Хорошо, я в замешательстве. Я установил свой viewcontroller как делегат для физического мира. Когда моя Flappy Bird сталкивается с монетой, запускается этот метод:

- (void)didBeginContact:(SKPhysicsContact *)contact {
if (contact != nil && contact.bodyA != nil){
    if (coinsArray.count > 0)
    {
        if (contact.bodyA.mass == 0) {
            [contact.bodyA.node removeAllActions];
            [coinsArray removeObject:contact.bodyA.node];
            [contact.bodyA.node removeFromParent];
            savedData.coins++;
        }
    }
}}

Так что это не имеет смысла для меня, потому что ИНОГДА я получаю сигнал о плохом доступе, когда моя птица касается монеты, но, как и в 95% случаев, она работает, как и ожидалось. Единственный раз, когда монеты удаляются со сцены, это когда птица касается монеты или когда coin.position.x <(0.5 * coin.size.width);

Не уверен, почему я получаю плохой доступ, тем более что я написал if (contact!= Nil && contact.bodyA!= Nil). Плюс, зачем мне вообще плохой доступ, когда делегат кричит: "Эй! запустить этот метод с этим SKPhysicsContact'?

Любая помощь от кого-либо?

0 ответов

Другие вопросы по тегам