草庐IT

GKTurnBasedMatch

全部标签

ios - 回合制配对在 iOS 10 中不起作用

我的游戏在iOS10之前运行良好。现在,每个使用iOS10的人都无法邀请他们想要的人和他们一起玩。当用户说他们想玩多人游戏时,我会创建一个GKMatchRequest,如下所示:GKMatchRequest*request=[[GKMatchRequestalloc]init];request.minPlayers=2;request.maxPlayers=4;request.defaultNumberOfPlayers=2;我使用GKTurnBasedMatchmakerViewController来处理邀请等。用户看到一个界面,可以让他们更改比赛中的玩家数量并邀请玩家。假设他们只想

ios - GKTurnBasedMatch 忽略 playerAttributes

当我创建以下GKRequest对象以创建回合制游戏时:GKMatchRequest*gameRequest=[[GKMatchRequestalloc]init];gameRequest.minPlayers=2;gameRequest.maxPlayers=2;gameRequest.playerAttributes=MY_ROLE_1;此请求不应与具有相同playerAttributes的另一个请求匹配,但它是。有谁知道回合制游戏是否会忽略playerAttributes? 最佳答案 根据此页面:http://developer

iphone - 根据其 ID 加入特定的 GKTurnBasedMatch

我想允许我的游戏玩家加入特定的比赛。例如,PlayerA通过findMatchForRequest启动了一个GKTurnBasedMatch。然后他希望他的friend加入,但不是希望他的friend在游戏中心搜索他,PlayerA想要将matchID发送给PlayerB(例如,通过社交媒体或其他任何方式……我的目标实际上是让玩家使用自定义URL架构向friend发送游戏链接,例如,mygame://join/**matchID**)。从这里开始,PlayerB显然可以使用GKTurnBasedMatchloadMatchWithID加载比赛...但他如何明确请求加入比赛?[GKTur

iOS 10 GameCenter 通过消息发送邀请

自iOS6推出以来,我们就通过GameCenter使用回合制游戏(多年来运行完全相同的代码)。但是,由于iOS10邀请不再有效。被邀请的人确实会在消息中收到一条消息,内容为“邀请您玩%game_name$”。没有向游戏本身发送邀请推送通知(新回合通知已成功发送)。当前游戏列表中没有新游戏出现以接受邀请(我们使用标准GK*ViewControllers),因为它是之前显示的。如果用户点击“消息”中的消息,会在短时间内显示带有“正在检索...”文本的警报View,但没有任何反应。Apple表示(https://developer.apple.com/videos/play/wwdc2016

ios - 有没有办法在不发送 "Your Turn"推送通知的情况下更新 GKTurnBasedMatch 中的 matchData?

如果我的理解是正确的,更新GKTurnBasedMatch中转的matchData属性的唯一方法是[_currentMatchendTurnWithNextParticipant:_currentParticipantmatchData:matchDatacompletionHandler:nil]。如果GameCenter玩家只在一台设备上安装了游戏,这会很有效,因为通知会作为消息传递给设备,发送给应用程序。因此,可以在用户当前轮到他玩时隐藏通知。但是,如果用户在多个设备上安装了该游戏,则其他设备将收到“轮到你了”推送通知。这会让用户感到困惑,尤其是我多次更新matchData。顺便

iphone - 如何从 GKTurnBasedMatch 中检索 playerGroup 属性?

在我的游戏中,用户可以选择三个不同的级别。我已将玩家选择的级别保存在GKMatchRequest的playerGroup属性中。匹配完成后,如何从GKTurnBasedMatch检索playerGroup,或者是否有不同的方法来跟踪匹配的游戏级别? 最佳答案 创建GKMatchRequest后,您必须调用findMatchForRequest。在findMatchForRequest的完成处理程序中,您可以将游戏级别存储在新比赛的matchData属性中。 关于iphone-如何从GKT

ios - Game Center - 回合制游戏问题

我正在为iOS开发一款带有自定义界面的回合制游戏,我发现我的配对界面存在一个非常奇怪的问题。以下代码用于显示事件匹配列表,我对用户进行身份验证,然后获取匹配列表,最后一步是加载匹配,以便我可以显示所有信息。当我构建应用程序时出现问题,转到配对ViewController并将其放置5分钟;然后,当我尝试删除匹配项时,我在loadingMatchWithID:中收到错误消息ErrorDomain=NSCocoaErrorDomainCode=4097"Theoperationcouldn’tbecompleted.(Cocoaerror4097.)代码每次都运行良好,删除、创建匹配项、刷新

iphone - 如何在 iOS Gamecenter match.participants 中找到已满座位?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我正在使用gamecenter编写一个基于回合制的iOS游戏,并且在查找当前坐在部分填充游戏中的每个人时遇到问题。我应该如何遍历比赛的参与者阵列并拉出就座的球员?任何时候游戏中都会有[1,8]名玩家,我正在尝试用已满玩家填充大厅。

iphone - 如何按最近事件对 GKTurnBasedMatch 进行排序?

我正在创建一个带有菜单屏幕的简单文字游戏,其中显示了用户的所有事件匹配项。我想按照从最近到最近最不活跃的顺序对这组比赛进行排序,但是与玩家轮流相关的唯一时间戳属性是GKTurnBasedParticipant...GKTurnBasedMatch没有有用的排序属性。GKTurnBasedMatch有一组GKTurnBasedParticipant对象作为属性,所以我当然可以想出某种解决方案,但我想不出任何不会真正困惑和低效的东西。在这种情况下,是否可以使用像NSPredicate这样简单的方法来深入了解每个参与者数组,查看最新的时间戳并一次性对所有匹配项进行排序?

ios - 在不结束回合的情况下更新 GKTurnBasedMatch 中的 matchData

每次从GameCenter服务器加载GKTurnBasedMatch时,GameKit似乎只允许更新一次GKTurnBasedMatch。有没有其他方法可以更新matchData属性? 最佳答案 你可以调用`-[GKTurnBasedMatch(void)loadMatchDataWithCompletionHandler:(void(^)(NSData*matchData,NSError*error))completionHandler];您可以随时获取更新的匹配数据。如果您想进行增量移动,您也可以这样做-[GKTunrBased