将GIF添加到Swift Playground

问题描述 投票:0回答:2

我在Swift Playground中有一个SKScene,我想将这个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用作精灵。任何在Swift Playground中显示gif的建议/替代方案都将非常感激。

swift sprite-kit gif swift-playground
2个回答
1
投票

不幸的是,UIImage不支持gif动画,但幸运的是,还有第三方库来帮助你。

它被称为SwiftGif

以下是示例用法。将文件添加到游乐场的源并将其粘贴到:

import UIKit
import PlaygroundSupport



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

PlaygroundPage.current.liveView = imageView

0
投票

也许你必须为SKTextureAnimations使用分离的图像:

   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)
© www.soinside.com 2019 - 2024. All rights reserved.