2016-06-21 36 views
0

Ich mache ein Spiel, in dem es Feinde von diferente Farben gibt, möchte ich das tun, wenn Sie zu einer bestimmten Punktzahl kommen, wird ein neuer Feind der anderen Farbe zum Spiel hinzugefügt.Wie füge ich einen arc4random hinzu, wenn der Wert inkrementiert ist?

wie kann ich eine andere Farbe meiner arc4random func hinzufügen, wenn die Punktzahl 20 (20 zum Beispiel)

Klasse GameScene: SKScene, SKPhysicsContactDelegate {

var circuloPrincipal = SKSpriteNode(imageNamed: "circulo") 

var enemigoTimer = NSTimer() 

var hits = 0 

var colorAmarillo: UIColor = UIColor(red: 0.9, green: 0.7, blue: 0.2, alpha: 0.9) 

var colorAzul = UIColor(red: 0.1, green: 0.4, blue: 0.5, alpha: 1.0) 

var colorVerde: UIColor = UIColor(red: 0.3, green: 0.7, blue: 0.5, alpha: 0.9) 

var scoreLabel = SKLabelNode(fontNamed: "STHeitiJ-Medium") 

var score = 0 

    //colorAmarillo = Yellow color 
    //colorAzul = Blue color 
    //colorVerde = Green color 

func colisionPrincipal (enemigo: SKSpriteNode) {

// Dies ist, wenn der Feind Kontakt mit dem Spieler macht

 if hits < 3 && circuloPrincipal.color != enemigo.color{ 


      circuloPrincipal.runAction(SKAction.scaleBy(1.5, duration:0.5)) 




      enemigo.removeFromParent() 

     hits++ 


      } 

      if scoreLabel == "20" { 


       //Here I want to add an enemy of another color 


      } 




     scoreLabel.removeAllActions() 


     }else if circuloPrincipal.color == enemigo.color { 

    //circuloPrincipal = player 
    //enemigo = enemy 
    //color = color 


      enemigo.removeFromParent() 

     score++ 

      scoreLabel.text = "\(score)" 

     } 

func enemigos() // Diese función ist der arc4random um zufällige die Farben {

let enemigo = SKSpriteNode(imageNamed: "circulo") 
    enemigo.size = CGSize(width: 25, height: 25) 
    enemigo.color = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1.0) 
    enemigo.colorBlendFactor = 1.0 
    enemigo.zPosition = 1.0 

      enemigo.physicsBody = SKPhysicsBody(circleOfRadius: enemigo.size.height/2) 
    enemigo.physicsBody?.categoryBitMask = physicsCategory.enemigo 
    enemigo.physicsBody?.contactTestBitMask = physicsCategory.circuloPrincipal 
    enemigo.physicsBody?.collisionBitMask = physicsCategory.circuloPrincipal 
    enemigo.physicsBody?.dynamic = true 
    enemigo.physicsBody?.affectedByGravity = true 


    enemigo.name = "enemigo" 



    } 

    let colorRandom = arc4random() % 3 

    switch colorRandom { 
    case 0: 

     enemigo.color = colorAmarillo 
     enemigo.colorBlendFactor = 1.0 




     break 

    case 1: 

     enemigo.color = colorAzul 
     enemigo.colorBlendFactor = 1.0 


    break 

    case 2: 

     enemigo.color = colorVerde 
     enemigo.colorBlendFactor = 1.0 


     break 
    default: 


     break 



    } 
+0

Und was genau ist deine Frage? –

+0

Wie kann ich meinem arc4random func eine andere Farbe hinzufügen, wenn der Wert 20 ist? (Z. B. 20) –

+0

formatieren Sie Ihren Code bitte ... arc4random ist nicht Ihre Funktion und diese Aussage scheint nichts damit zu tun, "wenn der Punktestand 20 ist" . Es scheint, dass Sie einen neuen Feind hinzufügen möchten, wenn der Punktestand 20 erreicht, ist das richtig? Was ist das Problem mit der Farbe? –

Antwort

0

Ihren Code und Frage wirklich Schritte völlig daneben ist aber vielleicht (nur vielleicht) Ich werde dir helfen :)

erste Import-Anweisung

import GameplayKit 

Next hinzufügen - erzeugen zufällige Feind Farbe

let colors = [SKColor.redColor(), SKColor.blueColor(), SKColor.greenColor()] 

let randomColorIndex = GKRandomDistribution(lowestValue: 0, highestValue: colors.count - 1).nextInt() 

// First solution using ternary conditional operator 
enemy.color = score == 20 ? SKColor.blackColor() : colors[randomColorIndex] 

// Second - using if-else clause 
if score == 20 { 
    enemy.color = SKColor.blackColor() 
} else if score == 100 { 
    enemy.color = SKColor.whiteColor() 
} else { 
    enemy.color = colors[randomColorIndex] 
} 
+0

danke mikem für Ihre Unterstützung! –

+0

Wenn dies geholfen hat, meine Antwort als akzeptiert zu markieren, vote up oder etwas :) – mikem

+0

mikem, Und was mache ich mit meinem arc4Random? weil die Farben der GKRandomDistributionen nicht funktionieren. –