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)
}
}
Asked
Active
Viewed 161 times
-1

rakeshbs
- 24,392
- 7
- 73
- 63

Bodi Osman
- 117
- 1
- 7
-
Here is your answer http://stackoverflow.com/a/21804866/790842 – iphonic Mar 16 '15 at 17:28
-
How should I do it in Swift, sorry I am new to swift and spritekit – Bodi Osman Mar 16 '15 at 17:36
-
Is that the update method that's supposed to be getting called once per frame? – Ben Kane Mar 16 '15 at 17:44
-
Yes, but I want it to update on every 5seconds – Bodi Osman Mar 16 '15 at 17:54
1 Answers
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