我目前正在试验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
应该归还包括当地球员在内的所有球员吗?
答案 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