将GIF添加到Swift操场上



我在一个迅速的操场上有一个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操场上展示GIF的任何建议/替代方案将不胜感激。

不幸的是不支持GIF动画,但幸运的是,有第三方库可以帮助您。

称为swiftgif。

以下是示例用法。将文件添加到操场的来源,然后将其粘贴到:

import UIKit
import PlaygroundSupport

let image = UIImage.gif(name: "yourgifgoeshere.gif")
PlaygroundPage.current.liveView = imageView

也许您必须使用分离的图像进行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)

最新更新