2016-07-29 45 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重生..