我对 GameCenter 的回合制功能有疑问。该应用程序的免费版本将允许用户一次最多创建 3 场比赛,并将阻止任何创建自动比赛或邀请其他玩家的尝试。我的问题如下,如果一个没有创建比赛限制的玩家邀请另一个达到该限制的玩家,游戏就会发生,这不是我想要的。

我可以为达到比赛限制的玩家设置任何属性吗?我知道如果不满足条件,我可以创建比赛并断开玩家的连接,但这也是我非常想避免的。

最佳答案

Game Center 本身不支持限制可用匹配的数量。但是,要强制执行限制,您也不需要创建然后删除匹配项。

跟踪您游戏中的活跃匹配数。当玩家达到限制时,停止显示匹配界面(例如,您的“新匹配”按钮可能会开始显示消息框,而不是显示匹配 View Controller )。看看 Letterpress 是如何做到的 - 当您在免费版本中有 2 个事件游戏时,“+”按钮会提示您购买免费版本。如果您有 1 或 0 个事件游戏,它会显示匹配 View Controller 。

不过,Letterpress 似乎有一个疏忽——人们可以打开 Game Center 并从那里请求匹配。 Game Center 应用程序将打开 Letterpress,后者将显示配对界面并允许您开始比赛。

也许这可以通过注册 GKLocalPlayerListener 来避免。实现 player:didRequestMatchWithPlayers: 方法,看看是否可以从那里显示“购买完整版”提示。

关于ios - GameCenter 回合制配对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21573226/

10-12 04:06