Swift 4 - ошибка с upperBound <lowerBound и попытка добавить SKNode, у которого уже есть родительский элемент: <SKLabelNode> - PullRequest
0 голосов
/ 04 мая 2018

У меня есть 2 ошибки, которые заняли у меня один день без их решения.

  1. Первая ошибка: «Поток 1: фатальная ошибка: невозможно сформировать Range с upperBound

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let firstTouch = touches.first!
    let positionOfTouch = firstTouch.location(in: self)
    let tappedNodes = nodes(at: positionOfTouch)
    print (tappedNodes.count)
    let firstNode = tappedNodes.first!
    handleNode(node: firstNode, bonus: 1.0)
    for index in 1...tappedNodes.count-1 {
        let current = tappedNodes[index]
        let previous = tappedNodes[index-1]
        if current.name == previous.name {
            handleNode(node: current, bonus: 2.5)
        }
        else {
            handleNode(node: current, bonus: 1)
        }
    }
    

    }

  2. Вторая ошибка: «Завершение приложения из-за неперехваченного исключения« NSInvalidArgumentException », причина:« Попытка добавить SKNode, у которого уже есть родительский элемент: », появляется, когда я добавляю сообщение, когда в GameScene выявляется пузырь.

    var tappedScoreLabel : SKLabelNode = {
    let label = SKLabelNode(fontNamed: "Pusab")
    label.fontSize = 60
    label.fontColor = SKColor.white
    label.zPosition = 300
    return label
    

    } ()

    func removeTappedNode (_ node : SKNode) {
    self.run(playCorrectSoundEffect)
    node.name = ""
    node.removeAllActions()
    node.run(SKAction.sequence([SKAction.fadeOut(withDuration: 0.3),   SKAction.removeFromParent()]))
    

    }

Пожалуйста, помогите мне. Я буду признателен с вашей помощью.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...