2017-08-31 185 views
2
class GameScene: SKScene { 

let balls = [ 
    SKSpriteNode(imageNamed: "blueball.png"), 
    SKSpriteNode(imageNamed: "greenball.png"), 
    SKSpriteNode(imageNamed: "realredball.png"), 
] 

override func didMove(to view: SKView) { 

    spawnBalls() 

} 

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
     for ball in balls{ 
      ball.physicsBody = SKPhysicsBody() 
      ball.physicsBody?.affectedByGravity = true 


     } 
} 

func spawnBalls() { 
    for ball in balls{ 
    balls[Int(arc4random_uniform(UInt32(balls.count)))] 

    ball.position = CGPoint(x: 0, y: 250) 
    ball.size = CGSize(width: 70, height: 70) 
     self.addChild(ball) 
    } 
} 

} 

每次我的应用程序加载红球产卵,但它应该随机产卵红色,蓝色或绿色的球。起初,它实际上是有效的,会随机产生红色,绿色或蓝色,我不知道是否意外地改变了一些东西,但在过去两天里它已经产生了红色。如果有人能够帮助,这将是伟大的。谢谢。随机产卵节点

回答

1

你实际上并没有用你的随机球在spawnBalls中做任何事情。试试这个

func spawnBalls() { 

    let ball = balls[Int(arc4random_uniform(UInt32(balls.count)))] 
    ball.position = CGPoint(x: 0, y: 250) 
    ball.size = CGSize(width: 70, height: 70) 
    self.addChild(ball) 
}