2016-07-29 47 views
0

我在一場比賽中工作,我面臨一個問題我設置兩個按鈕,當我點擊第一個按鈕t的產生第一個球員,當我點擊第二個按鈕時,它是刪除第一個球員和產卵第二個,每一件事情都很好,但問題是,當我點擊第一個按鈕時,它只是產生了一個節點。迅速改變球員

我怎樣才能使它產卵一個節點只有當我點擊過不產卵電話我點擊另一個按鈕和第二個按鈕一樣的東西,這是我的代碼的幫助,請..

// Set button One 

    ButtoneOne = UIButton(frame: CGRect(x: 0, y: 0, width: frame.size.width/25, height: frame.size.height/20)) 
    ButtoneOne.center = CGPoint(x: view.frame.size.width/6.5, y: view.frame.size.height/2) 
    ButtoneOne.setImage(ButtonTextureOne, forState: .Normal) 
    ButtoneOne.addTarget(self, action: #selector(Play.PlayesrOne), forControlEvents: UIControlEvents.TouchUpInside) 
    self.view?.addSubview(ButtoneOne) 

func PlayesrOne() { 

    Player.removeFromParent() 
    PlayerTwo.removeFromParent() 

    PlayerOne = SKSpriteNode(imageNamed: "PlayerOne") 
    PlayerOne.size = CGSize(width: 150, height: 200) 
    PlayerOne.position = CGPoint(x: frame.size.width/2, y: frame.size.height/2) 
    PlayerOne.zPosition = -1 
    self.addChild(PlayerOne) 


} 

回答

0

記住在iOS中(而不是在iOS中)對你的屬性採用大寫的態度是不對的。

我不想再因數所有的代碼,我會盡量保持你的結構和方法可能:

buttoneOne = UIButton(frame: CGRect(x: 0, y: 0, width: frame.size.width/25, height: frame.size.height/20)) 
buttoneOne.center = CGPoint(x: view.frame.size.width/6.5, y: view.frame.size.height/2) 
buttoneOne.setImage(ButtonTextureOne, forState: .Normal) 
buttoneOne.addTarget(self, action: #selector(Play.PlayesrOne), forControlEvents: UIControlEvents.TouchUpInside) 
self.view?.addSubview(buttoneOne) 

func makePlayerOne() { 
    if (self.childNodeWithName("playerOne") == nil) { 
     playerOne = SKSpriteNode(imageNamed: "PlayerOne") 
     playerOne.size = CGSize(width: 150, height: 200) 
     playerOne.position = CGPoint(x: frame.size.width/2, y: frame.size.height/2) 
     playerOne.zPosition = -1 
     playerOne.name = "playerOne" 
     self.addChild(playerOne) 
    } 
} 

func PlayesrOne() { 
    player.removeFromParent() 
    playerOne.removeFromParent() 
    playerTwo.removeFromParent() 
    makePlayerOne() 
} 

你可以做同樣的事情player2重生..