Как вы можете добавить gif в качестве элемента imageNamed в Swift?

Я пытаюсь заменить персонажа в игре, который не движется, на GIF-изображение, которое движется.

В настоящее время код

    let player = Witch(imageNamed: "player")

Когда я пытаюсь изменить изображение на gif, изменив имена, как и ожидалось, это не работает. Как я могу изменить или добавить приведенный выше код, чтобы регулярно воспроизводить gif как изображение spriteNode, которое является символом? Я хочу, чтобы он мог состоять из одной или двух строк, если это возможно. я использовал

     var runAnimation = [SKTexture]()

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let playerNode = self.childNode(withName: "player")
    if(playerNode != nil){
        let animation = SKAction.animate(with: runAnimation, timePerFrame: 0.1)
        playerNode?.run(SKAction.repeatForever(animation))
    }
}

     let runAtlas = SKTextureAtlas(named: "run")
    for index in 1...runAtlas.textureNames.count{
        let textureName = String.init(format: "run%1d", index)
        runAnimation.append(SKTexture(imageNamed: textureName))
    }

но получил ошибку

    Thread 1: Fatal error: Can't form Range with upperBound < lowerBound

Если вы можете помочь, пожалуйста, дайте мне знать.


person Amber    schedule 29.05.2018    source источник
comment
Возможно, связано: stackoverflow.com/questions/33338706 /   -  person Ahmad F    schedule 29.05.2018
comment
Смысл вашей ошибки в том, что runAtlas.textureNames.count равно нулю. Также вы знаете, что первый индекс 0, а не 1, верно?   -  person matt    schedule 29.05.2018
comment
@matt Да, я знаю, что это 0, а не 1, но я случайно набрал 1, когда делал это.   -  person Amber    schedule 29.05.2018