我正在使用游戏中心开发基于回合的游戏。我耐心地研究了以下问题,但我希望有人提出解决方案。
我用某张地图开始一个自动匹配游戏,我想只连接到选择相同地图玩的玩家。有什么办法可以限制吗?
谢谢你。
我正在使用游戏中心开发基于回合的游戏。我耐心地研究了以下问题,但我希望有人提出解决方案。
我用某张地图开始一个自动匹配游戏,我想只连接到选择相同地图玩的玩家。有什么办法可以限制吗?
谢谢你。
实际上,我的问题的解决方案非常简单,只需要多读一点。创建匹配请求时,可以设置属性 playerGroup 以限制仅组中的玩家连接到同一组中的玩家。
但是在邀请朋友时设置这个属性似乎不起作用,它只适用于自动匹配。因此,如果有人计划这样做,您必须找到解决方法。
GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 4;
request.playerGroup = MyMap_Forest | MyRulesCaptureTheFlag;
如果您的游戏设置了 playerGroup 属性,则只有请求共享相同 playerGroup 值的玩家才会由 Game Center 自动处理。玩家组的值是任意的。例如,您可以定义不同的 playerGroup 值来实现以下任何过滤器:
游戏可以根据技能水平限制玩家。提供多种游戏模式的游戏可以使用它将玩家过滤到他们想要玩的特定游戏中。通过应用内购买提供奖励内容的游戏可以匹配拥有相同内容的玩家。
将 playerGroup 设置为 0 或根本不设置它意味着该比赛没有玩家组,因此任何人都可以连接到任何人。