2015-02-02 3 views
1

저는 Game Center를 사용하는 소셜 게임을 개발 중이며 플레이어의 클라이언트 중 하나에게 "서버"로 사용될 것이라는 사실을 알리는 것에 대해 질문했습니다. 처음에 나는 방법으로 반환 된 GKPlayer에게 데이터 패킷을 보낼 것을 생각했습니다 :
- (void)chooseBestHostingPlayerWithCompletionHandler:(void (^)(GKPlayer *player))completionHandler
이 방법을 사용하여 볼 수있는 유일한 문제점은 일치하는 다른 플레이어가 다른 사람을 선택할 수 있는지입니다 그들의 고객은 최고의 "서버"라고 생각합니다. 현재이 메소드가 GKMatch에 있다고 가정하기 때문에 게임에서 현재 모든 플레이어를 고려해야하며이 경기를 실행하는 각 애플리케이션에서 동일한 GKPlayer 객체가 반환되어야합니다. 사실입니까? 감사합니다. Sean게임 센터에서 "서버"선택하기

+0

이것에 관한 결정을 내린 적이 있습니까? –

+0

일치를 처리하기 위해 자체 백엔드 시스템을 만들었지 만 반환 된 GKPlayer 객체가 모든 장치에서 동일하게 테스트되었습니다 (일치하는 장치를 최대 4 개까지 테스트). –

+1

우리는 결국 playerID를 비교하고 가장 낮은 것을 선택해야했습니다. 이 방법은 믿을만하지 않았습니다. –

답변

0

설명서에 따라 일치하는 모든 플레이어는 chooseBestHostingPlayerWithCompletionHandler를 호출해야합니다. 그것이 완료되면 모든 플레이어는 동일한 GKPlayer 또는 nil 중 하나와 같은 대답을받습니다.

관련 문제