大佬教程收集整理的这篇文章主要介绍了ios – Game Center的自动匹配和endTurnWithNextParticipants,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经读到了,为了实际发送给玩家的邀请,邀请玩家必须结束他/她的回合.这意味着调用此方法:
- (void)endTurnWithNextParticipants:(NSArray *)nextParticipants turnTimeout:(NSTimeInterval)timeout matchData:(NSData *)matchData completionHandler:(void (^)(NSError *error))completionHandler
现在,我不明白的是“nextParticipants”数组的含义,以防匹配在自动匹配模式下启动,正如我所读,通过将参与者设置为nil来完成,例如:
GKMatchrequest *request = [[GKMatchrequest alloc] init]; request.minPlayers = 2; request.maxPlayers = 2; request.playersToInvite = nil; request.invitemessage = @"Let’s play"; [GKTurnBasedMatch findMatchForrequest: request withCompletionHandler: ^(GKTurnBasedMatch *match,NSError *error) { NSLog(@"%@",match); }];
如果阵列为零,我不知道谁将参加比赛,我怎么可能将转牌传给下一位球员?如果我在NextParticipants参数中使用Nil,当然我得到一个’nextParticipants的无效列表’错误.
所以,我也不明白的是自动匹配实际上是如何工作的.它会无条件地匹配任何已经开始与自动比赛进行新比赛的两名球员吗?我不能以某种方式选择我想要自动匹配的匹配项吗? (假设,例如,游戏允许几个难度级别,并且我不希望与在较低级别玩的人自动匹配).
编辑(根据xcodegirl的评论):
为了解决这一点,只需通过在请求的playerGroup@L_@R_696_11289@_14@中添加编码所需匹配类型的内容来扩展上述代码即可:
request.playerGroup = [Utils myEncodingAsNSUIntegerOfGameTypeGivenSomeParameters:...];
但不好的是,playerGroup似乎不是GKTurnBasedMatch的可用@L_@R_696_11289@_14@.因此,如果您列出了您的匹配项,包括待处理的自动匹配项,并希望显示有关您要玩的游戏类型的信息,则应以其他方式存储此信息.
NSMutableArray *nextParticipants = [NSMutableArray new]; for (GKTurnBasedParticipant *participant in match.participants) { if ([participant.playerID isEqualToString:[GKLocalPlayer localPlayer].playerID]) { [nextParticipants addObject:participant]; } else { [nextParticipants insertObject:participant aTindex:0]; } } NSData *matchData = [@"some data" dataUsingEncoding:NSUTF8StringEncoding]; // Send new game state to Game Center & pass turn to next participant [self.invitation.match endTurnWithNextParticipants: nextParticipants turnTimeout: GKTurnTimeoutDefault matchData: matchData completionHandler: ^(NSError *error) { // do something like refreshing UI } ];
然而,我的问题的第二部分仍然存在.我不清楚如何有条件地进行自动匹配工作(例如:我愿意与想要参加一级方程式赛车的人进行自动匹配,而不是与拉力赛车进行比赛).
以上是大佬教程为你收集整理的ios – Game Center的自动匹配和endTurnWithNextParticipants全部内容,希望文章能够帮你解决ios – Game Center的自动匹配和endTurnWithNextParticipants所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。