2016-01-28 63 views
0

我有一個遊戲,有一個函數調用另一個SKScene。這SKScene是我的gameOver場景。這場比賽有一個UIButton和UIButton鏈接到一個函數,該函數刪除該場景中的所有UIButton,然後再次調用常規遊戲場景。如果我運行它可能3或4次,按鈕將被刪除,遊戲將再次開始,沒有任何問題。然而,在第4次或第5次玩遊戲時,一旦我再次按下游戲按鈕,當遊戲在常規遊戲屏幕類中時,按鈕保持在屏幕上,並且沒有任何功能。這裏發生了什麼,因爲函數肯定被調用,因爲我在函數中打印了一些東西。有人可以幫助解決這個問題。我的子視圖沒有被從SuperView Xcode7中刪除Swift

func playAgainAction(sender: UIControlEvents){ 
    removeGameOverButtons() 
    let reveal : SKTransition = SKTransition.crossFadeWithDuration(0.5) 
    let scene = GameScene(size: self.view!.bounds.size) 
    scene.scaleMode = .AspectFill 
    self.view?.presentScene(scene, transition: reveal) 
} 

func removeGameOverButtons(){ 
    self.playAgainButton.removeFromSuperview() 
    self.noAdsButton.removeFromSuperview() 
    self.rateButton.removeFromSuperview() 
    self.shareButton.removeFromSuperview() 
    self.leaderboardsButton.removeFromSuperview() 
    self.watchAdsButton.removeFromSuperview() 
    print("There should be no reason that there labels are not being removed") 

} 
+0

你可以在哪裏添加按鈕嗎? –

回答

0
self.rateButton = UIButton(type: UIButtonType.Custom) 
    self.rateButton.setImage(rateButtonImage, forState: .Normal) 
    self.rateButton.frame = CGRectMake(self.frame.size.width*3/4 - 26, self.frame.height*3/5 - 95 - 95, 110,75) 
    self.rateButton.layer.anchorPoint = CGPointMake(1.0, 1.0) 
    self.rateButton.layer.zPosition = 0 
    //Attach an action to the play again button 
    self.rateButton.addTarget(self, action: "noAdsAction:", forControlEvents: UIControlEvents.TouchUpInside) 
    delay(0.5){ 
     view.addSubview(self.rateButton) 
    } 

這裏是我的代碼副本,我添加的按鈕。因此,它通過幾次,但在3或4時,他們不會被刪除。 我在遊戲中的所有按鈕都被添加完全一樣

相關問題