spritekit 动画_简单的Gif就像Spritekit的动画一样

I can't really find a simple solution for this, every example I see only shows very complex solutions, but all I want is 2-3 images that cycle so it appears as if it is animated. Same effect as an animated Gif. For now I have this to create an image

MonsterNode = SKSpriteNode(imageNamed: "MonsterNode_GameScene")

but how would I set MonsterNode variable to an animation of this sort? I am really looking for the very least amount of code needed to achieve this.

解决方案

The main idea is to use animateWithTextures for this task. You need to set all the frames that the sprite needs to animated and the displayed time of each frame. Then use repeatActionForever to run the animation loop.

// 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值