-1
override func update(currentTime: CFTimeInterval) {
        var choice = arc4random_uniform(2)
        if (choice == 0) {

        var redBall = SKSpriteNode(imageNamed: "redBall")
        redBall.setScale(0.5)
        redBall.position = CGPointMake(self.size.width/2, self.size.height)
        redBall.size.height = 20
        redBall.size.width = 30
        redBall.physicsBody = SKPhysicsBody(circleOfRadius: redBall.size.height / 2.75)
        redBall.physicsBody?.dynamic = true
        self.addChild(redBall)

    }

    if (choice == 1) {
        var redBall = SKSpriteNode(imageNamed: "redBall")
        redBall.setScale(0.5)
        redBall.position = CGPointMake(self.size.width/5, self.size.height)
        redBall.size.height = 20
        redBall.size.width = 30
        redBall.physicsBody = SKPhysicsBody(circleOfRadius: redBall.size.height / 2.75)
        redBall.physicsBody?.dynamic = true
        self.addChild(redBall)

    }

    if (choice == 2) {
        var redBall = SKSpriteNode(imageNamed: "redBall")
        redBall.setScale(0.5)
        redBall.position = CGPointMake(self.size.width*5, self.size.height)
        redBall.size.height = 20
        redBall.size.width = 30
        redBall.physicsBody = SKPhysicsBody(circleOfRadius: redBall.size.height / 2.75)
        redBall.physicsBody?.dynamic = true
        self.addChild(redBall)

    }

}
rakeshbs
  • 24,392
  • 7
  • 73
  • 63
Bodi Osman
  • 117
  • 1
  • 7

1 Answers1

1

You can simply use an SKAction that fires every five seconds instead of using the update function.

func yourFunction (){
    //Your code
}

override func didMoveToView(view: SKView) {
    super.didMoveToView(view)

    let updateAction = SKAction.runBlock { () -> Void in
        self.yourFunction()
    }

    let waitDuration : NSTimeInterval = 5.0
    let updateAndWaitAction = SKAction.sequence([updateAction,SKAction.waitForDuration(waitDuration)])
    let repeatForeverAction = SKAction.repeatActionForever(updateAndWaitAction)
    self.runAction(repeatForeverAction)

}
rakeshbs
  • 24,392
  • 7
  • 73
  • 63