我的GKMatch没有玩家…?
- 我成功地做了一个配对的屏幕出现。
- 我在我的iPhone和模拟器中运行我的游戏。
- 在这两种情况下,我都使用不同的Game Center帐户login。
- 我在两场比赛中都去参加比赛。 我按“现在玩”。 两场比赛都开始寻找比赛。
- 最后,两个游戏find一个匹配,并调用下面的函数:
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindMatch:(GKMatch *)match { self.myMatch = match; NSLog(@"%d",[[self.myMatch playerIDs]count]); }
但是我的控制台返回0.不是应该返回2吗?
难道你不是真的连接它们吗?
你实际上使用GKMatchmaker和GKMatchmakerViewController吗?
在你的testing中,你确定你正在使用两个不同的游戏中心帐户?
恐怕我不熟悉游戏中心系统 – 但我已经增加了100点奖励,所以你可以希望得到答案!
GKMatchmaker在玩家之间build立连接之前为您返回一场比赛; 在这个阶段,所有的参与者都在相互联系。
playerIDs属性最初设置为已经连接到比赛的玩家的数量; 该数组可能是空的。 每当玩家连接到该匹配时,该玩家的玩家标识符就被添加到该arrays中。
此外,有些玩家可能无法连接(我没有testing过这种情况,所以我不知道是否返回错误)
你在找什么是GKMatch.expectedPlayerCount
只要玩家连接到匹配,该属性的值就会减less。 当它的值达到零时,所有预期的玩家都被连接起来,并且你的游戏可以开始比赛。
我也怀疑GKMatch.playerIDs
不包括播放器; 即你连接后可能会立即看到expectedPlayerCount = 1。
我不确定GameKit关于线程的function。