2016-08-04 16 views
1

私はSwiftプログラミング言語にかなり新しいですが、最近私はYoutubeチュートリアルに続いて、スペースシューティングゲームを作成し始めました。しかし私が興味があったこと(チュートリアルで言及されていない)は、箇条書きの数に制限を加える方法です。Need Assistance、Swift 2.0 SKSpriteNode

import SpriteKit 

//Declaring Player 
let player = SKSpriteNode(imageNamed: "playerShip") 

class GameScene: SKScene { 

    override func didMoveToView(view: SKView) { 

     //Declaring Background 
     let background = SKSpriteNode(imageNamed: "background") 

     //Setting Properties For Background 
     background.size = self.size 
     background.position = CGPoint(x: self.size.width/2, y: self.size.height/2) 
     background.zPosition = 0 
     self.addChild(background) 


     //Setting Properties For Player (Already Declared) 
     player.setScale(1.3) 
     player.position = CGPoint(x: self.size.width/2, y: self.size.height * 0.20) 
     player.zPosition = 2 
     self.addChild(player) 

    } 

    func fireBullet(){ 

     //Setting Properties & Declaring Bullet 
     let bullet = SKSpriteNode(imageNamed: "bullet") 
     bullet.setScale(1) 

     bullet.position = player.position 
     bullet.zPosition = 1 
     self.addChild(bullet) 

     //Moving and Deleting Bullet 
     let moveBullet = SKAction.moveToY(self.size.height + bullet.size.height, duration: 1) 
     let deleteBullet = SKAction.removeFromParent() 
     let bulletSequence = SKAction.sequence([moveBullet,deleteBullet]) 
     bullet.runAction(bulletSequence) 


    } 

    //This function will run when screen is touched 
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 

     fireBullet() 

    } 

} 
+0

これは、プレイヤーの総弾数に制限がありますか?または同時に使用できる数ですか?それが前者の場合、appzの答えは良いです。後者の場合、プレーヤーが制限を受け入れて別の弾を発射しようとするとどうなりますか?古いものが消えるか、既存の弾丸が画面から消えるまで発射できないのですか? –

答えて

2

あなたはプレイヤーが撃たできる弾丸の合計数を制限したい場合は、

class GameScene: SKScene { 
    private var remainingBullets = 10 
    ... 

次に、fireBullet()があなたを起動され、残りの弾数を表すGameSceneのプロパティを作成することができます利用可能な弾丸が残っているかどうかを確認する必要があります。そうならばfireBullet()の実行は別の方法で続けることができますreturn

最後に減らす必要があるのはremainingBulletsです。