Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android实时多人游戏-在游戏开始前在玩家之间共享数据_Android_Google Play Services_Real Time_Google Play Games_Multiplayer - Fatal编程技术网

android实时多人游戏-在游戏开始前在玩家之间共享数据

android实时多人游戏-在游戏开始前在玩家之间共享数据,android,google-play-services,real-time,google-play-games,multiplayer,Android,Google Play Services,Real Time,Google Play Games,Multiplayer,我正在用android()编写一个实时多人问答游戏。我从谷歌按钮点击器2000的代码开始。我的问答游戏正在运行,但我有一些问题。所有球员都应该同时开始。在方法中 @覆盖 连接到RoomConnected的公共无效(内部状态代码,房间){ 我正在定义一个主机(1名玩家)。主机创建测验问题。创建后,他会将问题发送给所有人。现在onRoomConnected方法完成,游戏阶段开始。但有时其他玩家没有足够早地收到他们的问题,我会收到空指针异常。 有没有办法在所有玩家都收到问题后开始游戏 提前谢谢 更新:

我正在用android()编写一个实时多人问答游戏。我从谷歌按钮点击器2000的代码开始。我的问答游戏正在运行,但我有一些问题。所有球员都应该同时开始。在方法中

@覆盖
连接到RoomConnected的公共无效(内部状态代码,房间){

我正在定义一个主机(1名玩家)。主机创建测验问题。创建后,他会将问题发送给所有人。现在onRoomConnected方法完成,游戏阶段开始。但有时其他玩家没有足够早地收到他们的问题,我会收到空指针异常。 有没有办法在所有玩家都收到问题后开始游戏

提前谢谢

更新:

Ray Wenderlich的实时多人游戏教程非常有用。一个有趣的章节是“同步游戏开始”。不幸的是,这并不是我正在搜索的内容。

在OnRoomConnected()中,最好确定主机是,从GetParticipants()中选择Participant[0],然后使用SendMessage将所需数据发送给其余播放机,并在OnRealtimeMessageReceived()中对其进行解析。然后在每个人都收到数据后开始游戏。

当你获得NPE时,
statusCode
不是
STATUS\u OK
?如果出现这种情况,建议你必须处理
onRoomConnected
中的错误。API类处理调用,因此我们不能真正设置onRoomConnected的延迟计时器ode>已被调用(如果我理解正确,即使您实现了一个,它仍然会有NPE错误)。我总是获得状态\ U OK代码。NPE在我的gamelogic阶段晚些时候发生。我已经实施了这些步骤。我的问题是:我什么时候知道每个人都收到了数据?将GotData消息发送回主机如何?一旦他从所有客户端收到该消息,广播开始游戏事件。