Google Play服务:创建自定义等候室UI

时间:2014-10-22 15:56:15

标签: android google-play-services multiplayer google-play-games

我即将使用Google Play游戏为我的Android应用程序实现实时多人游戏 服务,并听取房间更新有一些问题。我不经验, 所以请原谅可能的理解问题。

我的意图是,如果有人最近加入我,我需要了解情况 创造了房间或者自己创造了另一个房间,与我的房间一样。

我试图在RoomStatusUpdateListener上听,但在我创建了一个房间之后, 这个听众永远不会被召唤,我想知道为什么。什么被称为,是 RoomUpdateListener,但它不包含我需要的回调方法。

我知道建议使用android build 等候室ui并使用Games.RealTimeMultiplayer.getWaitingRoomIntent()来 启动一个activityForResult,但我需要创建像我自己的等候室 而且不知道怎么做。显然谷歌活动(等待)房间确实得到了 了解变化,所以必须有办法观察这些变化。

据我所知,我尝试做类似的事情:

  1. 创建具有不同变体的多个房间
  2. 在任何房间听取更新(玩家加入或创建同一个房间)
  3. 使用第2步的更新加入会议室。
  4. 有人知道如何实现这一目标吗? 我会很高兴的。抱歉我的英语不好。

    问候, 史蒂夫。

1 个答案:

答案 0 :(得分:6)

由于没有人能够回答我的问题或其他什么,我认为这是有效的 我自己提供调查结果作为答案。

我能够找到自定义UI实现所需的重要方法调用。 它们基本上位于RoomUpdateListenerRoomStatusUpdateListener这两个界面中,需要提供给RoomConfig.Builder

游戏的生命周期如下:

第1步

  • 通过
  • 创建房间

Games.RealTimeMultiplayer.create(mGoogleApiClient, rtmConfigBuilder.build());

第2步

  • RoomUpdateListener: onRoomCreated客户端尝试创建实时房间。

第3步

  • RoomStatusUpdateListener: onPeerJoined当一个或多个同伴参与者加入一个房间时调用。
  • RoomStatusUpdateListener: onRoomConnecting一个或多个参与者已加入会议室,并已开始建立对等连接的过程
  • RoomStatusUpdateListener: onP2PConnected客户已成功连接到同行参与者。
  • RoomStatusUpdateListener: onConnectedToRoom客户端已连接到会议室中的已连接集。
  • RoomStatusUpdateListener: onPeersConnected当一个或多个同伴参与者加入一个房间时调用。

第4步

  • RoomUpdateListener: onRoomConnected实时会议室中的所有参与者都已完全连接。

就是这样。现在参与者已连接,可以通过Games.RealTimeMultiplayer.sendReliableMessage和其他发送方法发送消息。