title: How do you trigger actions with NSTimer in Spritekit?
body: <p>I'm trying to get my "Player" (A circle in the middle) to increase in size once the screen is touched by running a timer. </p>
  
  <p>Once the timer is over 0 seconds, it increases in size. Once the timer is over 3 seconds, it decreases to its original scale size and once the timer is over 7 seconds, it resets and this repeats forever. </p>
  
  <p>What am I doing wrong?</p>
  
  <pre><code>import SpriteKit
  
  class GameScene: SKScene {
  
      var Center = SKSpriteNode()
      var Player = SKSpriteNode()
      var timer = NSTimer()
      var seconds = 0
  
      override func didMoveToView(view: SKView) {
  
          Center = SKSpriteNode(imageNamed: "Center")
          Center.size = CGSize(width: 80, height: 80)
          Center.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
          self.addChild(Center)
  
          Player = SKSpriteNode(imageNamed: "Player")
          Player.size = CGSize(width: 80, height: 80)
          Player.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2)
          self.addChild(Player)
  
      }
  
  
      override func touchesBegan(touches: Set&lt;UITouch&gt;, withEvent event: UIEvent?) {
  
          timer = NSTimer.scheduledTimerWithTimeInterval(4.0, target: self, selector: #selector(GameScene.playerScaleUp), userInfo: nil, repeats: true)
  
         }
  
      func playerScaleUp(){
          if seconds &gt; 0{
              Player.runAction(SKAction.scaleBy(4, duration: 2))
  
          }
  
      }
  
      func playerScaleDown(){
          if seconds &gt; 3{
              Player.runAction(SKAction.scaleBy(-4, duration: 2))
  
          }
      }
  
      func resetScale(){
          if seconds &gt; 7{
              timer.invalidate()
  
          }
      }
  
      override func update(currentTime: CFTimeInterval) {
  
  
  
      }
  
  }
  </code></pre>