読者です 読者をやめる 読者になる 読者になる

SpriteKit(Xcode)でラベル(文字)なりし画像を点滅させる方法

アプリの話

 

Cocos2d-xを一旦諦めたので、またSpriteKitでゲームを作っています。

Cocos2d-xに挫折しました。これ初心者には難しいなー - ホーリーの普通の日記

 

んでちょっと分からなかったのが、ラベルなりし画像を点滅させる方法ですね。

 

一般的なのは、fadein,fadeoutで実装する方法なのかもしれないですけど、それだとふぉ〜ん、ふぉ〜ん、てなるんですよね。

文章だと全然伝わらないでしょうが、ようはスパスパ切り替わらないんですよ。

 

let action1 = SKAction.fadeInWithDuration(0.5)

let action2 = SKAction.fadeOutWithDuration(0.5)

let actionS = SKAction.sequence([action1,action2])

let actionR = SKAction.repeatActionForever(actionS)

 

ちなみにコードを書くとこんな感じでしょうか?

0.5秒のところをイジっても、いい感じにはなりません。

 

んで、どうすればいいかなと考えて、思い出したのがモグラ叩き。

Swiftで作るモグラ叩きゲーム - ホーリーの普通の日記

 

このときのモグラみたいに、出たり消えたりすればいいんじゃないかと思ったんです。

 

let flash1 = SKAction.waitForDuration(0.4)

let flash2 = SKAction.moveToY(-2000, duration: 0.0)

let flash3 = SKAction.moveToY(triangel.position.y, duration: 0.0)

let flashS = SKAction.sequence([flash1,flash2,flash1,flash3])

let flashR = SKAction.repeatActionForever(flashS)

 

コードはこんな感じですね。triangel.positionっていうのは、このアクションを実行してるNodeがtriangelって名前なんです。ここは自由に変えてください。

 

なんかもっとセンスのいい方法がありそうなんですが、僕が選んだ方法はこれって話でした。