2013-12-01 1 views
2

После многого поиска здесь я наконец нашел способ отображения Game Center в SpriteKit, но теперь я не могу получить метод leaderboardViewControllerDidFinish для вызова. Я использую этот код в другом приложении, и он отлично работает, но по какой-то причине с изменением кода для SpriteKit его просто не работает. Заранее спасибо!Игровой центр В SpriteKit не увольняет лидера

Вот пример моего кода:

- (void)showGameCenterButtonPressed:(id)sender { 
{ 
    if ([GKLocalPlayer localPlayer].authenticated == NO) { 
     UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"You must enable Game Center!" 
                  message:@"Sign in through the Game Center app to enable all features" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [message show]; 
    } else { 
     GKGameCenterViewController *leaderboardViewController = [[GKGameCenterViewController alloc] init]; 
     if (leaderboardViewController != NULL) 
     { 

      UIViewController *vc = self.view.window.rootViewController; 
      [vc presentViewController: leaderboardViewController animated: YES completion:nil]; 
     } 
    } 

}}

- (void)leaderboardViewControllerDidFinish:(GKGameCenterViewController *)viewController { 
NSLog(@"in leaderboardControllerDidFinish"); 
UIViewController *vc = self.view.window.rootViewController; 
[vc dismissViewControllerAnimated:YES completion:nil]; 

} 

ответ

2

Для того, чтобы ответить на мой собственный вопрос ... я просто взял код прямо из Apple,

- (void)showGameCenterButtonPressed:(id)sender { 
{ 
    if ([GKLocalPlayer localPlayer].authenticated == NO) { 
     UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"You must enable Game Center!" 
                  message:@"Sign in through the Game Center app to enable all features" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 
     [message show]; 
    } else { 
     GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init]; 
     if (gameCenterController != nil) 
     { 
      gameCenterController.gameCenterDelegate = self; 
      gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards; 
      UIViewController *vc = self.view.window.rootViewController; 
      [vc presentViewController: gameCenterController animated: YES completion:nil]; 
     } 
    } 
} 

}

- (void)gameCenterViewControllerDidFinish:(GKGameCenterViewController*)gameCenterViewController { 

UIViewController *vc = self.view.window.rootViewController; 
[vc dismissViewControllerAnimated:YES completion:nil]; 

 Смежные вопросы

  • Нет связанных вопросов^_^