簡體   English   中英

發送和接收 GKTurnBasedMatch 的邀請

[英]Send and receive invites of GKTurnBasedMatch

我正在開發一個棋盤游戲。 使用 Game Center 進行多人游戲,但目前停留在如何發送或接收GKTurnBasedMatch邀請上。 我正在使用以下方法以編程方式創建匹配:

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

[GKTurnBasedMatch findMatchForRequest:request
                  withCompletionHandler:
                          ^(GKTurnBasedMatch *match, NSError *error) {
                              if(error) {
                                  NSLog(@"%@", error.localizedDescription);
                                  return;
                              }
                              [self.delegate startGameForMatch:match];
                          }];

上面塊參數中的GKTurnBasedMatch實例,只有本地玩家,其他玩家nil ,我需要在游戲中顯示對手的詳細信息。

NSMutableArray *participantIds = [[NSMutableArray alloc] init];
NSLog(@"%@", match.participants);
for (GKTurnBasedParticipant *participant in match.participants) {
    if(participant.playerID) [participantIds addObject:participant.playerID];
}
[GKPlayer loadPlayersForIdentifiers:participantIds
          withCompletionHandler:^(NSArray *players, NSError *error) {
              NSMutableString *string = [[NSMutableString alloc] init];
              for (GKPlayer *player in players) {
                  [string appendFormat:@"---- Alias: %@ DisplayName: %@", player.alias, player.displayName];
              }
              NSLog(@"%@", string);
          }];

我是否遺漏了什么或游戲中心像這樣工作? 我讀到比賽的參與者在GKTurnBasedParticipantGKTurnBasedMatch.currentParticipant之前不會收到邀請,但我需要在游戲開始時顯示對手的詳細信息。

謝謝您的幫助。 指出我正確的方向。

當您創建與隨機對手的比賽時會發生這種情況。 嘗試在 iTunesConnect 中創建第二個測試用戶並在第二個設備上登錄該用戶。

然后,向第二個測試玩家發送邀請成為您的朋友。 這將使您能夠更輕松地使用多人游戲功能測試您的游戲,而無需等待找到隨機匹配。

接受好友請求后,再次嘗試創建新游戲。 現在,邀請您的“朋友”加入您的游戲並開始您的回合。 您現在會注意到(空)變量將 - 在大多數情況下 - 被填充。現在應該出現在您的日志中這樣的東西 -

GKTurnBasedParticipant 0xb9432e0 - playerID:G:123456789 status:Invited matchOutcome:None lastTurnDate:(null) timeoutDate:(null)

暫無
暫無

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

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