- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
大家好,我是 iOS 版 Game Center 的新手。我正在尝试将使用匹配的多人游戏功能添加到我的游戏中并遵循文档。
到目前为止,我已经达到了我的 2 个客户端可以成功匹配的程度,即调用了 matchmakerViewController:didFindMatch 回调并传递了一个 GKMatch 对象。
然而在那之后我似乎永远被困在那里,因为根据文档,我必须等到所有玩家(在我的例子中是 2 个)真正连接后才能开始我的游戏。但似乎从未调用 match:player:didChangeState 回调来指示连接成功。好吧,我确定我的客户都在同一个 wifi 网络中(或者这是必须的吗?)任何人都可以在这种情况下启发我吗?我是否必须做任何额外的事情才能让客户连接?非常感谢您的帮助!
最佳答案
所以我遇到了这个问题,解决方案(对我来说)有点尴尬。我从 Apple 文档中复制并粘贴了一堆代码……他们遗漏了一个明显的步骤。他们从未真正设置比赛的代表!
我现在的代码是:
- (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);}
一旦我真正设置了匹配委托(delegate),函数就会被调用。呵呵。
关于iphone - 使用 GKMatch 的 Game Center Multiplayer 但似乎无法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337481/
我正在使用 Game Center 制作捉迷藏游戏。我设置了两个角色:隐藏者和寻找者。 class Role { static let Seeker : UInt32 = 0xFFFF0000
我使用 GameCenter 和实时服务器-客户端网络策略创建了一个纸牌游戏。在沙盒中测试时,游戏运行完美(建立连接、选择最佳主机、发送/接收数据),有时游戏甚至可以毫无问题地完成。然而,大多数情况下
我成功地显示了配对屏幕。 我在 iPhone 和模拟器中运行我的游戏。 在这两种情况下,我都使用不同的 Game Center 帐户登录。 我在两场比赛中都进入了配对屏幕。我按“立即播放”。两场比赛开
我正在创建一款 2 人 iOS 游戏。我使用 GKMatchMaker 来帮助我自动匹配玩家,下面是我在创建请求时的做法: GKMatchRequest *request = [[GKMatchReq
我已经在应用程序中成功使用 GKMatch 很长一段时间了。我一直在追查并解决游戏偶尔停止的问题,并将其追踪到已发送但未收到的数据包。这种情况只是偶尔发生,但我似乎无法找出它发生的原因。 所有消息都使
我正在使用 GameKit 开发 cocos2d 游戏。我正在使用 GKMatch 创建与 2 个玩家的比赛。一切对我来说都很好,但是当一个玩家进入后台状态或按下主页按钮时,玩家就会断开连接。我也想在
我想知道当游戏 session 正在进行并且我们无法将我们的数据传送给其他玩家时,我如何获得本地玩家的断开连接消息。由于文档中没有任何内容说“只要您的连接失败,此方法就会通知您”,我有点不知所措。 我
大家好,我是 iOS 版 Game Center 的新手。我正在尝试将使用匹配的多人游戏功能添加到我的游戏中并遵循文档。 到目前为止,我已经达到了我的 2 个客户端可以成功匹配的程度,即调用了 mat
我是一名优秀的程序员,十分优秀!