2016-06-21 4 views
0

私は異なる色の敵が存在するゲームを作っています。あなたが特定の得点に遭遇すると、異なる色の新しい敵がゲームに追加されます。スコアが20であるとき、私はarc4randomのFUNCに別の色を追加する方法スコアが増加しているときにarc4randomを追加するにはどうすればよいですか?

(例えば20)

クラス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 

colisionPrincipal FUNC(enemigo:SKSpriteNode) {

//敵がプレイヤー

 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()//このfunciónは色 {

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

あなたの質問は何ですか? –

+0

スコアが20の時にarc4random funcに別の色を追加するにはどうすればいいですか? –

+0

あなたのコードを書式設定してください... arc4randomはあなたの関数ではありません。 。スコアが20に達したときに新しい敵を追加したいと思われる、そうですか?色の問題は何ですか? –

答えて

0

あなたのコードや質問は本当にめちゃくちゃされているが、多分(もしかしたら)私はあなたを助けるランダムにarc4randomです:)

最初のimport文

import GameplayKit 

次を追加 - ランダムな敵の色を生成

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

に感謝したときに、別の色の新しい敵を生みたいです! –

+0

これは、私の答えが受け入れられたとマークするのに役立った場合、投票するか、何か:) – mikem

+0

mikem、そして私のarc4Randomとは何ですか?なぜなら、GKRandomDistributionsの色は機能しないからです。 –

関連する問題