player(_:wantsToQuitMatch:) 什么时候被调用?

When does player(_:wantsToQuitMatch:) get called?

我正在使用 Game Center 实现我的第一个回合制游戏,我很难理解谁从 player(_:wantsToQuitMatch:).

正在退出(通过某种游戏内退出方法)的当前玩家是否收到此通知?当前玩家退出时其他玩家是否收到通知?如果当前玩家从 Game Center 退出(移除游戏)会怎样?

我试过在 Game Center 中删除游戏,当轮到我时,该方法不会为仍在游戏中的玩家触发。我无法触发该方法。

经过几年与 GKTurnBasedMatch 的合作,我 从未 见过 wantsToQuitMatch 火灾。绝不。一次都没有。

(大量超载的)函数 receivedTurnEventForMatch 是唯一会在玩家加入或离开时触发的函数。 (有关每个函数何时触发的更多信息,请参阅我在 的回答)。这很痛苦,因为 receivedTurnEventForMatch 在许多不同的情况下都会触发,并且由您来破译是哪个触发了它。

这不是你要问的问题,但由于你刚开始玩回合制比赛,如果你还没有投入太多,我建议你考虑在 WWDC 上宣布的新 GKGameSession年。 GKTurnBasedMatch 有很多限制,可能会让游戏陷入困境(任何玩家都无法继续)。我自己才刚刚开始研究 Game Sessions;然而,乍一看,它们为您提供了更大的控制权以及明显更大的匹配数据对象(512kB 对 64kB)。

当我调出 GameCenter 视图并点击我当前正在上交的游戏并尝试 "Forfeit" 游戏时,我看到 player(_:wantsToQuitMatch:) 开火。虽然我确实看到它着火了,但我还不确定该如何处理它。目前我什么都不做,玩家也没有退出游戏。