带有 Spritekit 的简单 Gif 动画

alb*_*lbo 3 ios sprite-kit swift

我真的找不到一个简单的解决方案,我看到的每个例子都只显示了非常复杂的解决方案,但我想要的只是 2-3 个循环的图像,所以它看起来好像是动画的。与动画 Gif 相同的效果。现在我有这个来创建一个图像

MonsterNode = SKSpriteNode(imageNamed: "MonsterNode_GameScene")
Run Code Online (Sandbox Code Playgroud)

但是我如何将 MonsterNode 变量设置为这种动画?我真的在寻找实现这一目标所需的最少代码。

Wan*_*ong 5

主要思想是animateWithTextures用于此任务。您需要设置精灵需要动画的所有帧数以及每帧的显示时间。然后用于repeatActionForever运行动画循环。

// Add 3 frames
let f0 = SKTexture.init(imageNamed: "MonsterNode_GameScene_0")
let f1 = SKTexture.init(imageNamed: "MonsterNode_GameScene_1")
let f2 = SKTexture.init(imageNamed: "MonsterNode_GameScene_2")
let frames: [SKTexture] = [f0, f1, f2]

// Load the first frame as initialization
monsterNode = SKSpriteNode(imageNamed: "MonsterNode_GameScene_0")
monsterNode.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))

// Change the frame per 0.2 sec
let animation = SKAction.animateWithTextures(frames, timePerFrame: 0.2)
monsterNode.runAction(SKAction.repeatActionForever(animation))

self.addChild(monsterNode)
Run Code Online (Sandbox Code Playgroud)