簡體   English   中英

基於回合的配對在iOS 10中不起作用

[英]Turn-based matchmaking not working in iOS 10

我的游戲在iOS 10之前運行良好。現在,所有使用iOS 10的人都無法邀請和與自己想要的人一起玩。

當用戶說他們想玩多人游戲時,我將創建一個GKMatchRequest如下所示:

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

我使用GKTurnBasedMatchmakerViewController來處理邀請等。用戶會看到一個界面,該界面可讓他們更改比賽中的球員人數並邀請球員。 假設他們只想要2個玩家,所以他們離開了,想和他們的朋友一起玩。 因此,他們使用界面將邀請發送給他們的朋友。 結果是,使用4個參與者的GKMatch在我的didFindMatch上調用了GKMatch 它應該只有2個! 第一個參與者是本地玩家,其他三個參與者的狀態為“匹配”。 因此,他們的朋友甚至不在列表中。 有人對此有任何建議嗎? 相同的代碼在iOS 10之前的iOS版本中可以正常工作。

似乎在IOS10上,defaultNumberOfPlayers沒有被兌現。

請記住, GKTurnBasedMatch在給定的比賽中具有三種類型的球員:

  • 創建比賽的發起人
  • 被特別邀請參加比賽的球員
  • 自動對戰的球員

如果您查看比賽中所有4位球員的狀態(使用您的示例),我懷疑您會看到以下結果

  1. 活動(發起者)
  2. 邀請(您邀請的1個人)
  3. 匹配
  4. 匹配

如果是這樣,則表示將忽略defaultNumberOfPlayers ,並且將以最多4個玩家(1個發起者,1個被邀請者和2個自動配對插槽)創建比賽。

解決方法似乎是在創建匹配項時將maxNumberOfPlayers設置為所需的上限(在本例中為2)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM