我与其他2个玩家(都直接邀请了)一起创建了实时多人游戏.这是我的方法:
创建玩家选择意图
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()回调中,您将获得Room对象.您可以通过致电查看有多少玩家留在房间里
int count = room.getParticipantIDs().size();
如果玩家超过最小人数,则继续游戏.
总结以上是内存溢出为你收集整理的android-邀请玩家离开游戏时调用onDisconnectedFromRoom()全部内容,希望文章能够帮你解决android-邀请玩家离开游戏时调用onDisconnectedFromRoom()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)