首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GKTurnBasedMatch participantQuitOutOfTurnWithOutcome

GKTurnBasedMatch participantQuitOutOfTurnWithOutcome
EN

Stack Overflow用户
提问于 2013-06-06 07:51:20
回答 1查看 220关注 0票数 1

我正在开发一个基于游戏套件的游戏。我正在为一个球员参与的比赛制作一个自定义的用户界面。我用以下命令得到火柴:

代码语言:javascript
复制
loadMatchesWithCompletionHandler:

有一种用例,用户在比赛中,不是轮到他们,他们想退出,不再在游戏列表中看到该比赛。我的代码调用

代码语言:javascript
复制
participantQuitOutOfTurnWithOutcome:withCompletionHandler: 

并从表视图中删除该行。

在这一点上,另一个玩家得到了机会,并看到他们的对手已经退出。

代码语言:javascript
复制
match.remoteParticipant.matchOutcome == GKTurnBasedMatchOutcomeQuit

所以他们用一个调用来结束游戏

代码语言:javascript
复制
endMatchInTurnWithMatchData:completionHandler:

问题是这个游戏仍然存在于游戏中心。所以打电话给

代码语言:javascript
复制
loadMatchesWithCompletionHandler: 

在第一个玩家的应用程序会将其拉回并显示在游戏列表中。

我能想到的唯一解决方案是保存表中匹配的匹配id和黑名单。看起来有点不确定。

似乎没有用于此目的的API。即退出并删除匹配我的匹配列表。有没有更好的方法来处理这种情况,只使用游戏中心API?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 11:03:33

我认为您需要将每个参与者的matchOutcome属性设置为GKTurnBasedMatchOutcomeNone以外的值,然后才能删除匹配。从文档中:

调用此方法的

将结束所有玩家的比赛。此方法只能由>当前参与者调用。在游戏调用此方法之前,必须将存储在participants属性中的每个>participant对象的matchOutcome属性设置为GKTurnBasedMatchOutcomeNone以外的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16951694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档