3

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

当前正在退出的玩家(通过一些游戏内退出方法)是否会收到此通知?当前玩家退出时其他玩家会收到通知吗?如果当前玩家从 Game Center 中退出(移除游戏)会发生什么?

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

4

2 回答 2

2

经过几年的工作,GKTurnBasedMatch从未见wantsToQuitMatch过火。绝不。不止一次。

(大量重载的)函数receivedTurnEventForMatch是唯一会在玩家加入或离开时触发的函数。(有关每个函数何时触发的更多信息,请参阅我在https://stackoverflow.com/a/34458493/1641444上的回答)。这是一种痛苦,因为receivedTurnEventForMatch在许多不同的情况下都会发生火灾,并且由您来判断是哪个触发了它。

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

于 2016-08-20T22:19:36.467 回答
1

player(_:wantsToQuitMatch:)当我调用 GameCenter 视图并点击我当前正在转入的游戏并尝试“放弃”该游戏时,我看到了火。虽然我确实看到它着火了,但我还不知道该怎么处理它。目前我什么也没做,玩家也没有退出游戏。

于 2016-09-06T20:26:58.260 回答