大家好,我是 iOS 游戏中心的新人。我正在尝试将使用匹配的多人游戏功能添加到我的游戏中并遵循文档。
到目前为止,我的 2 个客户端可以成功获得匹配,即调用 matchmakerViewController:didFindMatch 回调并传递 GKMatch 对象。
然而,在那之后我似乎永远被困在那里,因为根据文档,我必须等到所有玩家(在我的例子中是 2 个)真正连接后才能开始游戏。但似乎从未调用 match:player:didChangeState 回调来指示连接成功。好吧,我确信我的客户都在同一个 wifi 网络中(或者这是必须的?)任何人都可以启发我了解这种情况吗?我需要做任何额外的事情才能使客户端连接吗?非常感谢您的帮助!
所以我遇到了这个问题,解决方案(对我来说)有点尴尬。我从苹果文档中复制并粘贴了一堆代码……他们遗漏了一个明显的步骤。他们从未真正设置过比赛的代表!
我现在的代码是:
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindMatch:(GKMatch *)match {
[self dismissModalViewControllerAnimated:YES];
self.myMatch = match; // Use a retaining property to retain the match.
self.myMatch.delegate = self; // THIS LINE WAS MISSING IN THE APPLE DOCS. DOH.
// Start the game using the match.
NSLog(@"Match started! Expected Player Count:%d %@",match.expectedPlayerCount, match.playerIDs);}
一旦我实际设置了匹配委托,函数就会被调用。哦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)