android实时多人游戏-在游戏开始前在玩家之间共享数据
我正在用android()编写一个实时多人问答游戏。我从谷歌按钮点击器2000的代码开始。我的问答游戏正在运行,但我有一些问题。所有球员都应该同时开始。在方法中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方法完成,游戏阶段开始。但有时其他玩家没有足够早地收到他们的问题,我会收到空指针异常。 有没有办法在所有玩家都收到问题后开始游戏 提前谢谢 更新:
@覆盖
连接到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消息发送回主机如何?一旦他从所有客户端收到该消息,广播开始游戏事件。