【问题标题】:What information does the game center return after finding players?游戏中心找到玩家后返回什么信息?
【发布时间】:2013-04-07 15:11:28
【问题描述】:

我目前正在试验 raywenderlich 的 How To Make a Multiplayer iPhone Game Hosted on Your Own Server Part 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

应该返回包括本地玩家在内的所有玩家?

【问题讨论】:

  • 您是否在每台设备上使用不同的帐户登录 Game Center?
  • 戈登:是的。我尝试了 3 个不同的帐户,包括测试帐户和真实帐户。
  • 设备是否在同一个wifi网络中会有关系吗?
  • 不管有线返回,我是否可以将本地玩家的玩家ID添加到数组中以解决问题?
  • 刚刚尝试用 3 个不同的帐户开始一个 3 人游戏,它返回了 2 个 playerId,再次排除了本地玩家的。

标签: xcode cocos2d-iphone game-center


【解决方案1】:

虽然它是如此有线,但我设法将返回操纵到一个新的 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 的假定返回

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多