使用Google Play游戏服务android成功创建房间后强制启动游戏

Posted

技术标签:

【中文标题】使用Google Play游戏服务android成功创建房间后强制启动游戏【英文标题】:Forcefully starting the game after successfully room-creation using Google Play game Service android 【发布时间】:2013-05-17 14:11:26 【问题描述】:

我已经成功集成了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) 回调方法后开始的特定时间后开始游戏。

google play 服务在我们在 MIN_PLAYERS 中提到的特定用户计数后启动游戏。但我想在特定时间后而不是在特定用户计数后开始游戏

getGamesClient().getRealTimeWaitingRoomIntent(room, MIN_PLAYERS);

【问题讨论】:

【参考方案1】:

你可以避免使用getRealTimeWaitingRoomIntent意图,直接调用broadcastStart();gameStart(true);这两个方法来自 Google Play 游戏服务的官方示例)在特定时间后使用您的计时器。

请记住,您必须管理一些房间更新回调,具体取决于您的用例,它可能是 onPeerDeclinedonPeerJoinedonPeerLeft、[...] 和/或 onPeersConnected

如果你想显示玩家信息也是如此,你必须自己实现它。

【讨论】:

以上是关于使用Google Play游戏服务android成功创建房间后强制启动游戏的主要内容,如果未能解决你的问题,请参考以下文章

如何测试使用 google play 游戏服务的未发布的 android 游戏?

打开游戏的时候提示没有google play 服务怎么办?

如何使用适用于 android 的 google play 游戏服务实现后端服务器身份验证

如何使用 Facebook 好友制作 Android 多人游戏? (Google Play 游戏服务仅使用 G+)

可以从原始文件:///android_asset 使用 Google Play 游戏服务

使用 Google Apps 帐户登录时,在 Android 上对 Google Play 游戏服务进行身份验证会导致错误