在两个物体的第一次碰撞中增加了 2 分。在另一次碰撞之后,uz 只添加一个分数

At the first collision of two bodies added 2 score. After another collision uz add only one score

在两个物体第一次碰撞时加2分。在另一次碰撞之后,uz 只添加一个分数。如何解决?谢谢

这是我的代码:

func didBeginContact(contact: SKPhysicsContact) 
{
    var firstBody: SKPhysicsBody
    var secondBody: SKPhysicsBody

    if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask 
    {
        firstBody = contact.bodyA
        secondBody = contact.bodyB
    } else 
    {
        firstBody = contact.bodyB
        secondBody = contact.bodyA
    }

    if ((firstBody.categoryBitMask & PhysicsCategory.monster != 0) &&
        (secondBody.categoryBitMask & PhysicsCategory.naboj != 0)) 
    {
        if let firstNode = firstBody.node as? SKSpriteNode,
                let secondNode = secondBody.node as? SKSpriteNode  
        {
            projectileDidCollideWithMonster(firstNode, monster: secondNode)
        };
        score = score + 1
        scoreLabel.text = "\(score)"
    }
}

在第一次碰撞时将 1 添加到 score 的值之前检查它的值。我确定在您向其中添加 1 时该值已设置为 1。所以它第一次显示 2,然后它递增 1。