- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试实现一个基于回合的应用程序,发送回合数据没有问题,但我看不到自动接收数据的方法。到目前为止,我发现了这么多:
有一个 GKTurnBasedEventHandlerDelegate
协议(protocol)。它很容易实现,但是我在哪里可以将该对象设置为它必须代表的任何对象的代表呢?它似乎不是 GKTurnBasedMatch
、GKTurnBasedMatchmakerViewController
或 GKMatchMaker
的委托(delegate)。
还有一个 GKTurnBasedMatch
方法叫做 loadMatchDataWithCompletionhandler
,但据我所知,它只在你有一个直觉认为比赛需要更新。我怎么知道它必须更新?我是否必须每隔一秒左右触发一次此功能?
提前致谢。
更新:我已将 [GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate
设置为实现 GKTurnBasedEventHandlerDelegate
的静态实例。它仍然没有被调用。
最佳答案
你用下面的语句设置它,它成为一个共享实例的委托(delegate):
[[GKTurnBasedEventHandler sharedTurnBasedEventHandler] setDelegate:self];
实际上您不需要手动调用 loadMatchDataWithCompletionhandler
,当其中一个参与者调用 endTurnWithMatchData
时,所有其他参与者将通过 GKTurnBasedEventHandler
委托(delegate)通知方法:
-(void) handleTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActive
这就是您需要更新 UI 的地方。请注意,模拟器不支持 GKTurnBasedEventHandler
委托(delegate)方法,它们只会在实际设备中被调用。
关于ios - GKTurnBasedMatch 接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15957576/
我正在开发一款游戏包回合制比赛。这是一个不同语言的文字游戏。 玩家可以选择为他想玩的每个游戏设置语言。我想使用 GKMatchRequest 的 playergroup 属性来区分语言。 但是在发送
我正在开发一款回合制 Game Kit 游戏。我正在为玩家参与的比赛制作自定义用户界面。我使用 loadMatchesWithCompletionHandler: 有一个用例,用户正在进行一场比赛,还
所以我的比赛有两名球员。当玩家 1 创建新的比赛时,我使用 endTurnWithNextParticipants 方法并为 nextParticipants 提供 GKTurnBasedMatch
假设我有一个有 2 名玩家的 GKTurnBasedMatch,而第二个玩家在他的回合内就被放弃了。我该如何向第一个用户显示游戏已经结束的信息?或者也许让第一个玩家以编程方式退出? 另一场 GKTur
使用 GameKit 的标准用户界面以编程方式接受匹配邀请的正确方法是什么? 我看到一个expectedState="Invited"foundState="Active" 异常 Optional(E
我正在尝试实现一个基于回合的应用程序,发送回合数据没有问题,但我看不到自动接收数据的方法。到目前为止,我发现了这么多: 有一个 GKTurnBasedEventHandlerDelegate 协议(p
当用户在使用 GameKit 的 iOS 应用中“依次”退出基于回合的比赛时,委托(delegate)方法 -(void)turnBasedMatchmakerViewController: (GKT
我正在使用 Game Center 的回合制比赛构建游戏。 我想显示所有可用匹配项的列表。我试过使用 loadMatchesWithCompletionHandler(),但游戏数组返回为 nil,错
我正在测试两台设备之间的回合制游戏。据我了解,例如,发送带有 [GKTurnBasedMatch endTurnWithNextParticipants:] 的回合应该会自动将游戏中心通知推送给对手。
我正在做一些实验来尝试了解 GameKit,我制作了一个简单的游戏和一个列出我的玩家比赛的界面。我正在尝试添加在比赛中使用 removeWithCompletionHandler: 方法删除游戏的功能
我正在尝试向 GKTurnBasedMatch 中的另一个玩家发送交换。当我发送它时,我的完成处理程序收到一条大错误消息,其中包含以下描述: The requested operation could
来自苹果的Class Reference ,我了解 GKTurnBasedMatch 的 participants 属性具有在比赛开始时确定的固定大小。此外,据我所知,参与者允许的最大人数为 16 名
我正在编写回合制游戏的多人游戏部分,我正在使用游戏中心来管理比赛。使用 GKTurnBasedMatch 开始新游戏不会立即向其他玩家发送邀请通知。要发送通知,我必须采取行动并结束第一回合...我可以
我正在使用游戏中心制作游戏应用。 我想问一下在应用程序中保存整个对象(GKTurnBasedMatch)等游戏数据的最佳做法是什么? 因为,每个匹配项都有一个 matchData。我打算将这个 GKT
当我创建以下 GKRequest 对象以创建回合制游戏时: GKMatchRequest *gameRequest = [[GKMatchRequest alloc] init]; gameReque
我正在开发棋盘游戏。使用 Game Center 进行多人游戏,但目前卡在如何发送或接收 GKTurnBasedMatch 的邀请。我正在使用以下方式以编程方式创建匹配: GKMatchRequest
我一直在寻找关于这个问题的明确答案,但我得到了一些不一致的答案。 Apple 文档声明 64k 字节。但是,在网上我发现有多个来源说 4k 字节是最大值。这是 iOS 5 和 iOS 6 之间的区别吗
我正在创建一个带有菜单屏幕的简单文字游戏,其中显示了用户的所有事件匹配项。我想按照从最近到最近最不活跃的顺序对这组比赛进行排序,但是与玩家轮流相关的唯一时间戳属性是 GKTurnBasedPartic
假设有一个 GKTurnBasedMatch 只剩下 2 名尚未退出的参与者。 如果当前参与者想退出,而不是调用 participantQuitInTurnWithOutcome:... 调用 end
我想允许我的游戏玩家加入特定的比赛。例如,PlayerA 通过 findMatchForRequest 启动了一个 GKTurnBasedMatch。然后他希望他的 friend 加入,但不是希望他的
我是一名优秀的程序员,十分优秀!