2016-09-07 1 views
0

私はシンプルな2Dプレイを開発しており、殺されたすべての敵のカウンターを実装し、ゲームが終了するまでディスプレイに表示し続けたいと考えています。カウンターの敵を殺しました

どうすればよいですか?私は7.3.1

私の敵のコードがあるのXcodeを使用しています:それは非常に簡単であるよう

func frecciaInCollisioneConNemico(freccia:SKSpriteNode, nemico:SKSpriteNode) { 
    print("Freccia ha colpito un nemico") 
    freccia.removeFromParent() 
    nemico.removeFromParent() 

    nemiciDistrutti += 1 
    print("hai distrutto \(nemiciDistrutti) nemici") 

    if (nemiciDistrutti >= 20) { 
     let rivela = SKTransition.flipHorizontalWithDuration(0.5) 
     let gameOverScene = GameOverScene(size: self.size, vinto: true) 
     self.view?.presentScene(gameOverScene, transition: rivela) 
    } 
} 
+2

2013年からの質問はどうですか? – Wain

+0

私はこれに答えるつもりはなく、これはコミュニティの助けなしにあなたが解決できる簡単な問題であるため誰も願っていません。新しいSprite Kitプロジェクトを開始して、シーンにテキストを表示する方法を教えてください。私はnemiciDistruttiがあなたの敵を殺すカウンターであると仮定しています。ちょうど2をまとめて、あなたの答えがあります。 – Knight0fDragon

+0

あなたのように見えます_did_質問に答える – 0x141E

答えて

1

あなたは自分でこの質問に答えることができるはずです。あなたの死の機能よりも

あなたのラベルを作成します

class GameScene: SKScene { 

    let enemiesKilledLabel = SKLabelNode(fontNamed: "HelveticaNeue") 

    override func didMoveToView(view: SKView) { 
     loadEnemiesKilledLabel() 
    } 

    private func loadEnemiesKilledLabel() { 
     enemiesKilledLabel.position = ... 
     enemiesKilledLabel.text = "0" 
     ... 
     addChild(enemiesKilledLabel) 
    } 
} 

あなただけのテキストを更新します。

... 
nemiciDistrutti += 1 

enemiesKilledLabel.text = "\(nemiciDistrutti)" // update text 

これは、文字列の補間と呼ばれ、あなたがoptionalsに取るようにあなたの衝突方法を変更する必要があり、ここでそれについてヒントとして

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html

をより多くを読むことができます。複数の身体部分が衝突したため、1つの衝突が複数の接触を呼び出す場合があります。あなたのコードではこれを考慮していないので、frecciaInCollisioneConNemicoが複数回連続して呼び出されるとクラッシュする可能性があります。

この

func frecciaInCollisioneConNemico(freccia: SKSpriteNode?, nemico: SKSpriteNode?) { 

    guard let freccia = freccia, nemico = nemico else { return } 

    freccia.removeFromParent() 
    nemico.removeFromParent() 
    ... 
} 

に変更し、それを最後に私はあなたが英語のみでコードを書いてみることをお勧めします。

希望します。

+0

彼はしません。シーンの変化は、カウンターが20に達するまで発生しません。さらに彼の説明では、「...殺されたすべての敵のカウンターを実装し、ゲームが終了するまでディスプレイに表示しておきたい」と述べています。 – crashoverride777

+0

心配しないで..... – crashoverride777

+0

こんにちは、私はできるだけ早くあなたの "crashoverride777"の説明をしようとします。 次回は本当にありがとう、私は完全に英語のコードで書くつもりです。 "Knight0fDragon"のような返事は、私がインターネット上で解決策を見つけることができなかったためだと言いますが、初心者だけ、絶対天才で、誰も生まれない人が生まれました。 私を助けてくれた人にもう一度感謝します。 – Jollyvideos

関連する問題