Android Google Play实时多人游戏问题
我有一些文档中没有回答的问题:Android Google Play实时多人游戏问题,android,google-play-games,Android,Google Play Games,我有一些文档中没有回答的问题: RoomConfig.createAutoMatchCriteria(1,3,0)无法正常工作。它只会尝试匹配2人游戏,而不是3人游戏和4人游戏。我只有3台设备,但我花了大约2个小时尝试匹配这些设备,它们只能成对完成。我读了这篇文章:它也有类似的问题。另外GamesClient.getSelectPlayerContent(1,3)也有相同的错误 GamesClient.getRealTimeWaitingRoomIntent(房间,0)无法按预期工作。文档中指出
RoomConfig.createAutoMatchCriteria(1,3,0)
无法正常工作。它只会尝试匹配2人游戏,而不是3人游戏和4人游戏。我只有3台设备,但我花了大约2个小时尝试匹配这些设备,它们只能成对完成。我读了这篇文章:它也有类似的问题。另外GamesClient.getSelectPlayerContent(1,3)
也有相同的错误GamesClient.getRealTimeWaitingRoomIntent(房间,0)
无法按预期工作。文档中指出,“如果连接的参与者数量大于或等于启动游戏的指定最小值,则会启用等候室UI中的开始播放选项。”但是,在测试后,我还没有看到“开始播放”选项。发生的情况是,在弹出“准备播放”消息后,只要第一个人连接,等候室就会自动退出。从0更改为1具有相同的效果,更改为Integer.MAX\u值也具有相同的效果。任何人都能提供实现预期功能的方法吗?我做错什么了吗
try {
bWaitRoomDismissedFromCode = true;
finishActivity(RC_WAITING_ROOM);
} catch (Exception e) {
dLog("would have errored out in waiting room");
}
这将关闭等待室中的所有玩家的等待室,并让他们返回到您的活动中。从下面看,如果您想要“开始播放”的行为,则只有当有已接受邀请的受邀玩家进入该室时,才可以这样做。(如果谷歌想用另一种方式为AutoMatch工作,他们还没有做到这一点)
公共意图getRealTimeWaitingRoomIntent(Room Room,int minParticipantsToStart)
返回一个intent,该intent将显示一个“等待室”屏幕,显示参与者加入实时多人游戏室的进度。请注意,必须使用startActivityForResult(intent,int)调用该intent,以便建立调用包的标识
如果连接了必要数量的对等方并且现在可以开始游戏,或者如果用户明确要求现在开始游戏,则活动结果将是result_OK。如果用户未采取任何行动就跳出等候室屏幕,则结果将被result_取消。如果用户明确选择离开房间,则结果将是result_OK这将是你离开房间的结果
无论结果代码是什么,等待室活动都将返回一个数据意图,其中包含EXTRA_room中的room对象,该对象表示最初作为参数传递的房间的当前状态
如果需要,等候室可以允许用户在房间完全连接之前开始玩游戏。这由minParticipantsToStart参数控制:如果至少有那么多参与者(包括当前玩家)连接到房间,则“开始玩”菜单项将在等候室UI中启用。将minParticipantsToStart设置为0表示“开始播放”将始终可用,并且MAX_value的值将完全禁用该项目。注意:如果确实允许用户提前启动,则需要通过明确告知其他连接的对等方游戏正在启动来处理该情况;有关详细信息,请参阅开发人员文档
最后,请注意,等候室本身不会明确采取任何行动来更改房间或其参与者的状态。因此,如果活动结果为result_LEFT_room,则呼叫者有责任实际离开房间。或者,如果结果为result_Cancelled,则呼叫者有责任重新检查当前的状态请注意,当等待室处于活动状态时,等待室的状态将随着参与者接受或拒绝邀请而改变,参与者的数量甚至可能随着自动匹配玩家的增加而改变
3) Google Play Game Services(用于自动匹配)没有此行为。只有当服务器找到并选择房间的所有参与者时,才会执行此操作