カッパでも分かるiOSアプリゲーム開発

カッパがひたすらゲーム制作に関することを書くブログです。Railsに関するTipsもたまにまとめてます。

swift spritekit で画像アニメーション

スポンサードリンク

ゲームを作ってると画像を数秒ごとにアニメーションさせたくなる。

例えばスライムをプニプニさせたり
コウモリの羽を動かしたかったり

f:id:InvokeTwoA:20151009145646p:plainf:id:InvokeTwoA:20151009145746p:plain

方法がいくつもあって混乱する。

image.xcassets を使うのか、 iamge.atlas とかいうのを使えばいいのか。

  • ここでは image.xcassets と SKSpriteNodeを使った方法を紹介
  • 画像は slime1.png( @1x, @2x,@3x)と slime2.png(@1x,@2x,@3x) が用意されてたとする
        let s1 : SKTexture = SKTexture(imageNamed: "slime1")
        let s2 : SKTexture = SKTexture(imageNamed: "slime2")
        let action = SKAction.animateWithTextures([s1, s2], timePerFrame: 1.00)
        var enemy : SlimeNode = SKSpriteNode(imageNamed: "slime1")
        enemy.runAction(SKAction.repeatActionForever(action))
  • これで 1.00 秒ごとに画像が切り替わってくれる
  • 画像を格納する配列にパターンを増やせば、画像パターンが増えていく