1

我目前正在尝试 raywenderlich 的如何制作在您自己的服务器上托管的多人 iPhone 游戏第 1 部分的项目

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

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

但是,当我尝试在 iPhone Simulator 和我的 iPhone 上运行时,它总是在完成匹配玩家后只返回 1 个 playerID。

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

有人可以帮忙吗?

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

已经尝试将服务器放到外部主机上。仍然没有运气,只返回阵列中的一名玩家。

是这个功能吗

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

应该归还包括本地玩家在内的所有玩家?

4

1 回答 1

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

于 2013-04-08T17:03:41.403 回答