【问题标题】:Turn-based multiplayer game (Game Center, iOS) - Dismiss GKMatchmakerViewController and presenting own user interface to play a turn回合制多人游戏 (Game Center, iOS) - 关闭 GKMatchmakerViewController 并呈现自己的用户界面来玩回合
【发布时间】:2014-10-06 13:53:33
【问题描述】:

我正在使用游戏中心实现一个基于回合的多人游戏。第一个视图控制器 (ViewController) 显示菜单,并且已经可以在点击按钮时显示 GKTurnBasedMatchmakerViewController。邀请朋友参加游戏后,GKTurnBasedMatchmakerViewController 消失,游戏中心“开始”游戏。问题是游戏并没有真正开始,因为它属于另一个视图控制器 (SecondViewController)。我无法使用 segue,因为我不知道如何将 segue 标识符分配给 GKTurnBasedMatchmakerViewController(因为它不在 Storyboard 中)。我知道必须有可能实现它,因为许多应用程序都使用此功能。 Apple Developer Documentation 使用自定义 segue 解决了这个问题,但这怎么可能呢?有什么想法吗?

Apple 开发者文档:

“通常,您的游戏会关闭媒人视图控制器并立即启动其自己的用户界面以允许玩家进行回合。” >> 这就是我想做的!

-(void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController didFindMatch:(GKTurnBasedMatch *)match
{
    [self dismissViewControllerAnimated:YES completion:nil];
    [self performSegueWithIdentifier:@"GamePlayScene" sender:match];
}

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"GamePlayScene"])
    {
        MyGamePlayViewController* gameVC = (MyGamePlayViewController*) segue.destinationViewController;
        gameVC.delegate = self;
        gameVC.match = (GKTurnBasedMatch*) sender;
    }
}

提前致谢!

【问题讨论】:

    标签: ios objective-c uiviewcontroller segue multiplayer


    【解决方案1】:

    您必须在“Main.storyboard”中创建两个“视图控制器”(场景)。一个用于所有“游戏中心的东西”(默认值:GameViewController),另一个用于“游戏逻辑”(MyGamePlayViewController)。之后按住“ctrl”键并将第一个场景拖到另一个场景并选择“模态呈现”。 见图片。

    小心箭头,在那里你必须设置你的“标识符”。

    希望这会有所帮助。祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多