我正在努力解决以下问题:

我用SpriteKit做过一个游戏。我在游戏中实现了GameCenter。有用。玩家自动登录,高分将添加到默认排行榜中。但是例如在“EndScreen”中,我想显示GameCenterLeaderboard

Appledocumentation告诉我,我应该使用以下代码:

- (void) showGameCenter

{

GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];

if (gameCenterController != nil)

{

gameCenterController.gameCenterDelegate = self;

[self presentViewController: gameCenterController animated: YES completion:nil];

}

}

但是presentViewController不起作用。有什么方法可以从SKScene切换到我的标准ViewController。或者如何通过触摸按钮来显示GameCenterleaderboard

老实说,我是编程新手,所以这里的问题对于您来说可能不是一个大问题。
非常感谢您的帮助。

最佳答案

是的,有一种方法,您可以直接从-(void)showGameCenter调用此代码:

  UIViewController *vc = self.view.window.rootViewController;
  [vc presentViewController: gameCenterController animated:YES completion:Nil];

09-17 14:07