【发布时间】:2016-11-21 06:58:04
【问题描述】:
我正在创建一个 2 人 iOS 游戏。我使用 GKMatchMaker 来帮助我自动匹配玩家,这是我在创建请求时所做的:
GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 2;
request.defaultNumberOfPlayers = 2 ;
request.playerAttributes = 0 ; // NO SPECIAL ATTRIBS
request.playerGroup = 0 ;
[[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch *match, NSError *error) {
if (!_matchStarted && match.expectedPlayerCount == 0){
...
}
}];
我将 min/max/default player all 设置为 2。但是,每次调用完成处理程序(这意味着创建匹配)时,expectedPlayerCount 始终为 1。
这也发生在我的邀请处理程序中(还在邀请请求中将最小/最大玩家设置为 2):
[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite) {
if (acceptedInvite){
[[GKMatchmaker sharedMatchmaker] matchForInvite:acceptedInvite completionHandler:^(GKMatch *match, NSError *error) {
if (!_matchStarted && match.expectedPlayerCount == 0){
...
}}}];}
expectedPlayerCount 永远不会为 0。有人知道这是怎么发生的吗? (当我使用标准匹配视图控制器时它工作正常,所以我想我设置了正确的游戏套件,例如验证本地玩家......) 谢谢!
【问题讨论】:
标签: ios game-center