2017-09-26 32 views
1

私のgamecenterビューを閉じるのに問題があります。これは正しく表示され、正しいリーダーボードを表示しますが、「完了」ボタンが押されたときにゲームセンターを閉じずにゲームに戻ることはありません。必要なgameCenterViewControllerDidFinish()関数があるので、なぜ動作しないのか分かりません。ちょうど正しい方向に向ける必要があります。以下は、私がgamecenterを呼び出すために使用しているコードです。gameCenterViewControllerDidFinishが呼び出されないのはなぜですか?

class MainMenu: SKScene, SKPhysicsContactDelegate, 
UIGestureRecognizerDelegate{ 

func showLeader() { 
    let viewControllerVar = self.view?.window?.rootViewController 
    let gKGCViewController = GKGameCenterViewController() 
    gKGCViewController.gameCenterDelegate = self as? 
    GKGameCenterControllerDelegate 
    viewControllerVar?.present(gKGCViewController, animated: true, 
    completion: nil) 

} 
func gameCenterViewControllerDidFinish(_ gameCenterViewController: 
    GKGameCenterViewController) { 
    gameCenterViewController.dismiss(animated: true, completion: nil) 
} 
+1

あなた 'MainMenu'クラスに' GKGameCenterControllerDelegate'を追加します: 'クラスのMainMenu:SKScene、SKPhysicsContactDelegate、 UIGestureRecognizerDelegate、GKGameCenterControllerDelegateは{' – Chris

+0

は、私は小さな何かを逃した知っていました。ありがとうございました!それが問題を解決しました! –

答えて

0

私はあなたが実際にあなたがそれをリストに追加して、そのラインからas? ...一部を除去GKGameCenterControllerDelegate

を実装することを宣言していなかったので、self as? GKGameCenterControllerDelegateがnilであると思います。それを正しく宣言するときは必要ありません。

+0

それはまさに私がする必要があったものです。助けてくれてありがとう! –

関連する問題