使用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 游戏服务的官方示例)在特定时间后使用您的计时器。
请记住,您必须管理一些房间更新回调,具体取决于您的用例,它可能是 onPeerDeclined、onPeerJoined、onPeerLeft、[...] 和/或 onPeersConnected。
如果你想显示玩家信息也是如此,你必须自己实现它。
【讨论】:
以上是关于使用Google Play游戏服务android成功创建房间后强制启动游戏的主要内容,如果未能解决你的问题,请参考以下文章
如何测试使用 google play 游戏服务的未发布的 android 游戏?
如何使用适用于 android 的 google play 游戏服务实现后端服务器身份验证
如何使用 Facebook 好友制作 Android 多人游戏? (Google Play 游戏服务仅使用 G+)
可以从原始文件:///android_asset 使用 Google Play 游戏服务
使用 Google Apps 帐户登录时,在 Android 上对 Google Play 游戏服务进行身份验证会导致错误