找到玩家后游戏中心会返回什么信息?

时间:2013-04-07 15:11:28

标签: xcode cocos2d-iphone game-center

我目前正在试验raywenderlich的How To Make a Multiplayer iPhone Game Hosted on Your Own Server Part 1

项目

在第1部分教程结束时,声称在通过游戏中心面板查找自动匹配后,日志面板将显示2个PlayerID


    CatRace[5407:707] didFindPlayers
    CatRace[5407:707] G:1036727375
    CatRace[5407:707] G:1417937643

然而,当我尝试在iPhone模拟器和我的iPhone上运行时,在匹配完玩家后,它总是只返回1个玩家ID。

所以,我想确切知道该函数将如何返回信息。

有人可以提供帮助吗?

其他: 我发现模拟器和iDevice找到了另一个的播放器,但不包括它自己。这是正常情况吗?

已经尝试将服务器置于外部主机上。仍然没有运气,只返回阵中的一名球员。

这个功能

- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindPlayers:(NSArray *)playerIDs

应该归还包括当地球员在内的所有球员吗?

1 个答案:

答案 0 :(得分:0)

虽然它是如此有线,但我设法操纵返回到新的NSMUTABLEARRAY并发送到托管服务器。

- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindPlayers:(NSArray *)playerIDs {

NSMutableArray *players = [[NSMutableArray alloc] initWithArray:playerIDs];

[players insertObject:[GKLocalPlayer localPlayer].playerID atIndex:0];

if (_state == NetworkStatePendingMatch) {

[self dismissMatchmaker];
[self sendStartMatch:players];

}

[players release];

然而,我仍然在寻找我原来问题的答案,这是假设的返回 - (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindPlayers:(NSArray *)playerIDs