Voici mon code:boucle ne pas exécuter le code sequencially (+ rapide spritekit)
override func didMoveToView(view: SKView) {
/* Setup your scene here */
let origin = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
let delay = SKAction.waitForDuration(2.0)
for (var i = 0; i < 6; i++) {
//generate a random point on a circle centered at origin with radius of 500
let point = randomPointOnCircle(500, center: origin)
let chanceToSpawn = arc4random_uniform(100)
switch chanceToSpawn {
case 0...60:
self.runAction(delay){
let smallBall = SKSpriteNode(imageNamed: "smallBall”)
self.addChild(smallBall)
smallBall.xScale = 0.05
smallBall.yScale = 0.05
smallBall.position = point
let finalDest = CGPointMake(origin.x, origin.y)
let moveAction = SKAction.moveTo(finalDest, duration: 5.0)
smallBall.runAction(SKAction.sequence([SKAction.waitForDuration(0.1), moveAction, SKAction.runBlock({
smallBall.removeFromParent()
})]))
delay
}
break
case 61...80:
//same as case 0…60, smallBall changed to “mediumBall”
break
case 81...99:
//same as case 0…60, smallBall changed to “largeBall”
break
default:
break
} // ends switch statement
}//ends for loop
}//end didMoveToView
Fondamentalement, j'ai les boules qui se reproduisent sur un point au hasard sur un cercle et se dirigent vers le centre. Mais le problème est que peu importe comment je réarrange les choses (ou réécrire les choses, c'est-à-dire essayer différentes boucles ou définir des fonctions pour engendrer la balle et le mouvement de la balle et les appeler depuis l'instruction switch) les balles apparaissent en même temps. J'essaie de faire en sorte qu'ils se reproduisent l'un après l'autre (ce qui signifie qu'une balle se reproduit, le fil attend quelques secondes, puis génère une autre balle.), Et je n'arrive pas à comprendre pourquoi chaque balle fraye en même temps le temps comme toutes les autres balles.
Je suis assez nouveau à la programmation Swift/Spritekit et je me sens comme si je donne sur un petit détail et ce qui est vraiment me casser les pieds. Toute aide appréciée!
Il a fonctionné! Merci beaucoup! Le seul problème que j'ai rencontré je devais déclarer explicitement que la variable i était un double, mais à part ça tout fonctionne bien! Merci encore! :RÉ –