【发布时间】: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