19

我无法弄清楚如何使用 Game Center 的 GKMatch 类以一种好的方式重新邀请断开连接的玩家。这场比赛是 1 对 1 的比赛。

当我检测到断开连接的玩家时,我会尝试通过以下调用重新邀请该特定玩家参加比赛:

[[GKMatchmaker sharedMatchmaker] addPlayersToMatch:theMatch matchRequest:request completionHandler:^(NSError *error)

这按预期工作。当其他玩家建立连接后,他会被重新邀请,比赛可以继续。但这留下了一个我无法解决的问题。场景来了:

  • 玩家 1 断开连接。
  • 玩家 2 离开比赛,而玩家 1 断开连接。
  • 播放器 1 重新连接并检测到他与播放器 2 失去连接并尝试重新连接到播放器 2。
  • 玩家 2 正在寻找新的比赛,他正在使用 matchmakerViewController。
  • 玩家 2 突然加入了与他离开的玩家 1 的旧比赛。

所以我的问题是 matchmakerViewController 让玩家重新邀请他们加入旧比赛。有没有更好的方法来处理这种重新连接的情况,这样人们就不会被邀请回到旧比赛?

4

2 回答 2

1

您可以为仍然连接的玩家提供重新邀请或退出的选项。如果其他玩家离开,您还可以删除对离开玩家的匹配请求。

于 2012-06-18T15:14:18.773 回答
0

如果我检测到玩家 2 使用了退出功能而不是在断开连接时超时,我会继续阻止玩家 1 在同一游戏中重新邀请。

于 2012-05-24T23:56:09.307 回答