我正在实现一个自定义的matchmaker视图控制器,并使用GKMatchmaker以编程方式查找两个玩家的匹配,使用:
[[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch *thisMatch, NSError *error)我的自定义matchmaker视图控制器有一个按钮,允许玩家通过[GKMatchmaker sharedMatchmaker cancel]取消比赛。
当Player 1取消比赛时,有时Player 2已经创建了GKMatch。如何通知Player 2 Player 1取消了比赛并开始搜索另一场比赛?
我想答案可能就在调用委托方法matchmakerViewControllerWasCancelled之前的GKMatchmakerViewController类和代码中。有人知道我怎么弄到这个吗?
发布于 2013-04-08 16:15:20
在尝试了这个方法之后,我意识到当玩家在创建GKMatch之后但在连接之前取消比赛时,调用以下函数中的GKPlayerStateDisconnected需要很长一段时间:
- (void)match:(GKMatch *)theMatch player:(NSString *)playerID didChangeState:(GKPlayerConnectionState)state如果创建了GKMatch,但播放器没有连接,我在大约15秒后再次调用findMatchForRequest函数,从而解决了这个问题。
有兴趣知道人们是否有更优雅的解决方案。
https://stackoverflow.com/questions/15701561
复制相似问题