0

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);
4

1 に答える 1

0

getRealTimeWaitingRoomIntentインテントの使用を避けて、 broadcastStart ();を直接呼び出すことができます。およびgameStart(true); (これらの 2 つの方法は、Google Play ゲーム サービスの公式サンプルに由来します)、タイマーで特定の時間が経過した後。

ユースケースに応じて、いくつかのルーム更新コールバックを管理する必要があることに注意してください。これは、 onPeerDeclinedonPeerJoinedonPeerLeft、 [...] および/またはonPeersConnectedである可能性があります。

プレイヤー情報を表示したい場合も同様で、自分で実装する必要があります。

于 2013-07-06T21:58:51.543 に答える