보드 게임을 개발 중입니다. 멀티 플레이를 위해 Game Center를 사용하지만 현재는 GKTurnBasedMatch
의 초대장을 보내거나받는 방법에 얽매여 있습니다.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);
}];
누락 된 항목이나 Game Center가 있습니까? 경기가 시작될 때 상대방의 세부 정보를 표시해야합니다. 이 GKTurnBasedMatch.currentParticipant
이 될 때까지 경기 참가자는 초대장을받지 못합니다.
도움 주셔서 감사합니다. 올바른 방향으로 나를 가리켜 라.
또한 새로운 GKTurnBasedMatch를 만들 때마다 GKTurnBasedParticipant 0x146b2360-playerID : (null) 상태 : matchingOutcome : None lastTurnDate : (null) timeoutDate : (null))> "상대방 참가자로" –
같은 문제가 있습니까? 아직 진행 상황이 있습니까? – JehandadK