如何检测客户端是不是故意离开 Google Play 游戏实时多人游戏中的房间?

Posted

技术标签:

【中文标题】如何检测客户端是不是故意离开 Google Play 游戏实时多人游戏中的房间?【英文标题】:How to detect if client intentionally left Room in Google Play Games Real-time Multiplayer?如何检测客户端是否故意离开 Google Play 游戏实时多人游戏中的房间? 【发布时间】:2014-12-17 01:48:57 【问题描述】:

这是一个多人游戏,我需要向玩家显示两个通知:第一个是当对手由于网络问题而断开连接时,第二个 - 当他故意离开游戏时。 房间是使用自动匹配标准创建的(最多玩家 - 2)。并且每次当有玩家因网络问题或故意RoomStatusUpdateListener 下一个顺序调用回调时: onDisconnectedFromRoom, onPeerLeft, onPeersDisconnected.

所以我在onDisconnectedFromRoom回调中显示通知,问题是你无法检测到是竞争对手发生的网络问题还是他故意离开。 Participant.getStatus() 返回STATUS_JOINED

那么,如何检测客户是否故意离开房间呢?

提前谢谢你!

【问题讨论】:

【参考方案1】:

您可以在客户端之间发送游戏数据。所以万一玩家想离开游戏, 向所有其他玩家发送此特定用户现在将断开连接的消息。

祝你好运,史蒂夫。

【讨论】:

感谢您的建议。我考虑过这个选项,但也许没有额外的信息也是可能的。

以上是关于如何检测客户端是不是故意离开 Google Play 游戏实时多人游戏中的房间?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SpriteKit 检测节点是不是离开屏幕 [重复]

如何通过强制关闭应用程序检测同伴是不是离开视频通话

如何检测用户何时离开网站?

检测用户是不是离开网站[重复]

检测用户是不是进入或离开区域 - 地理编码

如何在 Google 地图服务上检测 moveCamera 是不是完成?