我正在为我制作的游戏制作多人游戏功能。
一切正常,除了当我在配对并且两个玩家都连接时,如果一个人点击“取消”按钮,另一台设备不会收到取消通知。
在另一台设备上,单词变为“断开连接”,但没有调用任何委托方法。
我该如何处理?
我正在为我制作的游戏制作多人游戏功能。
一切正常,除了当我在配对并且两个玩家都连接时,如果一个人点击“取消”按钮,另一台设备不会收到取消通知。
在另一台设备上,单词变为“断开连接”,但没有调用任何委托方法。
我该如何处理?
您应该实施该GKMatchmakerViewControllerDelegate
协议。
不幸的是,没有一种方法(我知道,或者经过近 3 个月的调查可以找到)当一个人在开始连接后断开配对时调用。
因此,我解决这个问题的方法是,一旦 GameViewController 出现,它会等待一秒钟,然后调用一个方法来检查它是否连接到其他人。
为此,我有它,所以一旦游戏开始,每个玩家都会向其他玩家发送一个随机数(用于稍后确定不相关的设置 - 例如谁先走)。当它调用该方法来检查它是否已连接时,它只是检查是否已分配随机数。如果是,则正常开始游戏,如果不是,则结束游戏并返回菜单。