• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:45:44 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的游戏在 iOS 10 之前运行良好。现在,使用 iOS 10 的每个人都无法邀请和玩他们想要的人。

当用户说他们想玩多人游戏时,我会创建一个 GKMatchRequest,如下所示:

GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 4;
request.defaultNumberOfPlayers = 2;

我使用 GKTurnBasedMatchmakerViewController 来处理邀请等。用户会看到一个界面,可以让他们更改比赛中的玩家数量并邀请玩家。假设他们只想要 2 个玩家,所以他们离开了,想和他们的 friend 一起玩。因此,他们使用该界面向他们的 friend 发送邀请。结果是 didFindMatch 在我的委托(delegate)上被调用,其中 GKMatch 有 4 个参与者。它应该只有2个!第一个参与者是本地玩家,其他 3 人的状态为“匹配”。所以,他们的 friend 甚至不在名单上。有没有人有任何解决这个问题的建议?同样的代码在 iOS 10 之前的 iOS 版本中运行良好。



Best Answer-推荐答案


似乎在 IOS10 中,defaultNumberOfPlayers 没有得到遵守。

请记住,GKTurnBasedMatch 在给定比赛中具有三种类型的玩家:

  • 创建匹配的发起者
  • 受邀参加比赛的球员
  • 自动匹配到比赛中的球员

如果您查看比赛中所有 4 名球员的球员状态(使用您的示例),我怀疑您会看到以下结果

  1. 主动(发起者)
  2. 已邀请(您邀请的 1 人)
  3. 匹配
  4. 匹配

如果是这样,则表明 defaultNumberOfPlayers 已被忽略,并且创建的比赛最多包含 4 名玩家(1 个发起者、1 个被邀请者和 2 个自动匹配位置)。

解决方法似乎是在创建比赛时将 maxNumberOfPlayers 设置为所需的上限,在本例中为 2。

关于ios - 回合制配对在 iOS 10 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916413/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap