我已经成功整合了Google Play游戏服务。我正在使用此服务的多人游戏功能。现在我正面临一个问题。
成功创建游戏室并在onRoomCreated()方法中接收回叫
@Override
public void onRoomCreated(int statusCode, Room room) {
Log.d(TAG, "onRoomCreated(" + statusCode + ", " + room + ")");
if (statusCode != GamesClient.STATUS_OK) {
Log.e(TAG, "*** Error: onRoomCreated, status " + statusCode);
showGameError();
return;
}
// show the waiting room UI
final int MIN_PLAYERS = 2;
Intent i = getGamesClient().getRealTimeWaitingRoomIntent(room, MIN_PLAYERS);
startActivityForResult(i, RC_WAITING_ROOM);
// here i want to add timer ***
}
这里我想添加计时器。在特定时间之后,如果房间里至少有2个用户,我想强行开始游戏。我怎样才能做到这一点。
我想在onRoomConnected(int statusCode,Room room)回拨方法之后的特定时间后开始游戏。
谷歌播放服务在我们在MIN_PLAYERS中提到的特定用户数后启动游戏。但是我希望在特定时间之后开始游戏而不是在特定用户数之后
getGamesClient().getRealTimeWaitingRoomIntent(room, MIN_PLAYERS);
答案 0 :(得分:0)
您可以避免使用 getRealTimeWaitingRoomIntent 意图并直接调用 broadcastStart(); 和 gameStart(true); (这两种方法来自计时器的特定时间后,来自Google Play游戏服务的官方样本。
请注意,您必须管理一些房间更新回调,具体取决于您的用例,可能是 onPeerDeclined , onPeerJoined , onPeerLeft ,[...]和/或 onPeersConnected 。
如果你想显示玩家信息,你也必须自己实施。