在GKMatchmakerviewcontroller中处理取消

Wye*_*tro 7 objective-c ios game-center gkmatchmaker

我正在为我制作的游戏制作多人游戏功能.

一切正常,除非我在配对中并且两个玩家都已连接,如果一个人点击"取消"按钮,则其他设备不会注意到取消.

在另一台设备上,单词更改为"Disconnected",但是没有调用任何委托方法.

我怎么处理这个?

Wye*_*tro 0

不幸的是,没有一种方法(据我所知,或者经过近 3 个月的研究可以找到)可以在一个人开始连接后在匹配中断开连接时调用。

因此,我解决这个问题的方法是,一旦呈现 GameViewController,它会等待一秒钟,然后调用一个方法来检查它是否已连接到其他人。

为此,我拥有它,因此一旦游戏开始,每个玩家都会向另一个玩家发送一个随机数(用于稍后确定不相关的设置 - 例如谁先开始)。当它调用该方法来检查是否已连接时,它只是检查随机数是否已被分配。如果是这样,那么它会正常开始游戏,如果不是,它会结束游戏并弹出回到菜单。