Добавить GIF на Swift Playground - PullRequest
       21

Добавить GIF на Swift Playground

0 голосов
/ 16 марта 2019

У меня есть SKScene в Swift Playground, и я хочу добавить этот gif (https://media.giphy.com/media/uMU6E2DFqeZSE/giphy.gif) к фону как SKSpriteNode. Сначала я попытался преобразовать его как анимированный UIImage в SKSpriteNode, как показано ниже:

let dance = UIImage.animatedImageNamed("macarenadance.gif", duration: 3.0)
let texture = SKTexture(image: dance!)
let testImage = SKSpriteNode(texture: texture)
scene.addChild(testImage)

Но он столкнулся с ошибкой преобразования и остановился на полпути во время работы. Кажется, что невозможно использовать анимированный UIImage в качестве спрайта. Любые предложения / альтернативы отображению gif в Swift Playground будут с благодарностью.

Ответы [ 2 ]

1 голос
/ 16 марта 2019

UIImage, к сожалению, не поддерживает gif-анимацию, но, к счастью, есть сторонняя библиотека, которая поможет вам.

Это называется SwiftGif .

Ниже приведен пример использования. Добавьте файл к источнику игровой площадки и вставьте его в:

import UIKit
import PlaygroundSupport



let image = UIImage.gif(name: "yourgifgoeshere.gif")

PlaygroundPage.current.liveView = imageView
0 голосов
/ 16 марта 2019

Возможно, вам придется использовать отдельные изображения для анимации SKTexture:

   let texture = SKTexture.init(imageNamed: "macarenadance0.png")
   let texture1 = SKTexture.init(imageNamed: "macarenadance1.png")
   let texture2 = SKTexture.init(imageNamed: "macarenadance2.png")

    let textures = [texture,texture1,texture2]

    let testImage = SKSpriteNode(texture: texture);

    testImage.run(SKAction.repeatForever(
       SKAction.animate(with: textures, timePerFrame: 0.3)))
   addChild(testImage)
...