我創建了一個實時多人遊戲與兩個其他玩家(都是直接邀請)。這裏是我是怎麼做的:onDisconnectedFromRoom()當被邀請的玩家離開遊戲時被調用
創造的球員選擇意圖
Intent intent = Games.RealTimeMultiplayer.getSelectOpponentsIntent(getApiClient(), 1, MAX_PLAYERS);
startActivityForResult(intent, REQ_GOOGLE_INVITE);
在onActivityResult()
執行此:
private void onPlayersInvited(Intent data) {
// get the invitee list
final ArrayList<String> invitees = data.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS);
Bundle autoMatchCriteria = RoomConfig.createAutoMatchCriteria(1, 5, 0);
// create the activeRoom and specify a variant if appropriate
RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder();
roomConfigBuilder.addPlayersToInvite(invitees);
roomConfigBuilder.setAutoMatchCriteria(autoMatchCriteria);
RoomConfig roomConfig = roomConfigBuilder.build();
Games.RealTimeMultiplayer.create(getApiClient(), roomConfig);
// prevent screen from sleeping during handshake
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
private RoomConfig.Builder makeBasicRoomConfigBuilder() {
return RoomConfig.builder(this).setMessageReceivedListener(this).setRoomStatusUpdateListener(this).setSocketCommunicationEnabled(true)
.setVariant(subcategory.getId().intValue());
}
我的遊戲開始在所有3個設備,但當我拔下從一臺受邀設備上的遊戲中,然後在主設備上調用onDisconnectedFromRoom(),所以我猜遊戲會自動取消,這很讓人傷心,因爲我希望繼續比賽,直到球員出場所需的最少人數。
有沒有辦法阻止?
但是,即使onDisconnectedFromRoom()被調用,這個用戶會保持從其他玩家geting消息? – 2014-10-08 10:38:10
您可以輕鬆地進行測試。嘗試在調用onDisconnectedFromRoom()之後嘗試發送數據。 – Nik 2014-10-08 10:58:00
你是否從RoomStatusUpdateListener實現了其他方法? – Nik 2014-10-08 10:59:05