ios - 回合制多人游戏 (Game Center, iOS) - 关闭 GKMatchmakerViewController 并呈现自己的用户界面来玩回合

标签 ios objective-c uiviewcontroller segue multiplayer

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

苹果开发者文档:

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

-(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;
    }
}

提前致谢!

最佳答案

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

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

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

关于ios - 回合制多人游戏 (Game Center, iOS) - 关闭 GKMatchmakerViewController 并呈现自己的用户界面来玩回合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25282197/

相关文章:

ios - 在 swift 2 中调用电话的按钮?

ios - 如何快速导航到带有 map 注释的另一个页面

ios - 切片图像在 Storyboard中重复,但是当我运行应用程序时

objective-c - NSOperationQueue vs NSThread Priority——控制 NSOperationQueue 消耗多少 cpu

iphone - 处理应用程序委托(delegate)并在 View 之间切换

ios - 如何从 Alamofire 返回值

ios - 通过触摸 UILabel 打开另一个 View Controller

objective-c - iOS 中的亚马逊产品广告 API 签名

ios - UIPercentDrivenInteractiveTransition 无法通过快速手势完成动画

ios - 4 个 View Controller 之间的简单自定义导航