SpriteKitでNodeを点滅させる

  • 点滅の動きをSKAction.sequenceで作る
  • SKAction.repeatActionForeverでループさせる
  • runActionで実行する
override func didMoveToView(view: SKView) {
    let rect = SKShapeNode(rectOfSize: CGSizeMake(50.0, 50.0))
    rect.fillColor = UIColor.redColor()
    rect.position = CGPointMake(self.frame.midX, self.frame.midY)
    self.addChild(rect)

    // 点滅の場合
    let blinking = SKAction.sequence([
        SKAction.unhide(),
        SKAction.waitForDuration(0.2),
        SKAction.hide(),
        SKAction.waitForDuration(0.2)])

//        // フェードの場合
//        let fade = SKAction.sequence([
//            SKAction.fadeAlphaTo(0.0, duration: 1.00),
//            SKAction.waitForDuration(0.2),
//            SKAction.fadeAlphaTo(1.0, duration: 1.00)])

    let loop = SKAction.repeatActionForever(blinking)
    rect.runAction(loop)
}