0

我们需要创建一个有 10 + 1 个用户的游戏。10 名玩家将成为真正的用户 - 在这个多人在线游戏中。第一个玩家是经销商,它将成为应用程序软件 - 他将像经销商一样工作。该经销商不会是真正的玩家。该经销商将掷骰子。

我们如何在光子 PUN 中做到这一点?我们现在正在使用免费版本的 photon。

4

1 回答 1

1

根据您使用的 Photon 客户端 SDK,您应该有一个主客户端更改时的回调(应该是“OnMasterClientSwitched”)。当服务器检测到主客户端断开连接时触发。主客户端应该是参与者编号最低的参与者,但有一种方法可以强制主客户端(从客户端更改它)。如果您将数据保存在房间属性中或发送事件并可能缓存它们,则没有数据丢失的风险,因为只要房间仍然“活着”,它就会存在。另一边的 Actor 属性,应该在各自的 Actor 离开房间时进行清理。

但是有一个棘手的情况:当主客户端没有响应并且没有明确断开连接时,在服务器检测到该参与者超时并切换到新参与者之前可能有几秒钟(默认超时 10 秒)。如果这种情况与您有关,例如,如果您针对移动设备,我们可以讨论可能的解决方案。

于 2016-04-29T12:05:32.053 回答