2010-12-31 4 views
-1

저는 며칠 동안 게임 센터 멀티 플레이어를 구현하려고 시도해 왔으며 GKMatchViewController 이상의 것을 얻으려고 애 쓰고 있습니다. 여기 게임 센터 - 멀티 플레이어 연결

내 문제를 설명하는 시도이다 :

나는이 전망이를, 하나는 내 메인 메뉴는 멀티 플레이어가 출시 플레이어가 GKMatchViewController를 얻을 수있다 곳이다입니다. 그런 다음 사용자는이를 알지 못하지만보기가 멀티 플레이보기로 변경되어 GKMatchViewController가 닫히면 메뉴가 아닌 게임보기에 표시됩니다. 여기

나는 (그래 내가 사용하고적인 Cocos2D) 멀티 플레이어를 실행 :

-(void)mpGo:(id)sender{ 
    GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease]; 
    request.minPlayers = 2; 
    request.maxPlayers = 2; 

    [[GKMatchmaker sharedMatchmaker] findMatchForRequest:request 
            withCompletionHandler:^(GKMatch *returnedMatch, NSError *error) 
    { 
     if (error) NSLog(@"match error: %@", error); 
     else if (returnedMatch != nil) 
     { 
      match = [returnedMatch retain]; 
      match.delegate = self; // start! 
     } 
    }]; 

    tempVC = [[UIViewController alloc] init]; 

    GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease]; 
    if (mmvc != nil) 
    { 
     mmvc.matchmakerDelegate = self; 
     [[[CCDirector sharedDirector] openGLView] addSubview:tempVC.view]; 
     [tempVC presentModalViewController:mmvc animated: YES]; 
    } 

    [[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[mpView node] withColor:ccWHITE]]; 
} 

누를 때 나는이 오류가 얻을 '지금 재생':

일치 오류 : 오류 도메인 = GKErrorDomain 코드 = 2는 " 요청한 작업이 취소되었습니다. " UserInfo = 0x2248d0 {NSLocalizedDescription = 요청한 작업이 취소되었습니다}

그러면 '플레이어 찾기 중 ...'보기가 계속됩니다.

나는 미안하다. 나는 stackoverflow가 어떻게 작동하는지 이해하지 못한다. 나는 많은 문제를 가지고 있었고, 그것들을 나열하는 것은 에세이처럼 될 것이다. 나는 Im이 게임 센터 기능에 상당히 몰두하고 있다고 생각하지 않습니다. 누군가가 스카이프, iChat을 또는 비슷한에 나와 함께 내 코드를 살펴 복용 5 분에서 10 분 보낼 수 있다면

나는 여분의 경험을 감사 대규모 것입니다.

주어진 도움이 필요하면 최신 업데이트로 적립됩니다! ;)

17 세의 나이에만 많은 이해와 경험이없는 사람이 많으며 명백한 장애물에 걸려 넘어 질 수 있습니다.

희망을 보내주세요. 내 스카 이프/iChat의 이름은 다음과 같습니다 당신이 연락을 얻을 수 그래서 만약 kahanejosh 및 이메일 [email protected]입니다, 좋은!

+0

사과 죄송합니다. 현재 문제를 포함하도록 편집했습니다. –

답변

1

GameCenter를 사용한 적이 없지만 어쨌든 도움이 될 수 있습니다. 내가 역 지오 코더에 오류를

"The requested operation has been cancelled"

을 얻을 때 나는 앱이 요청을 수행하는 시간을하지 않은 것을 파악했다. findMatchForRequest:을 실행하여 오류가 발생하므로 요청 변수가 완전히 설정되지 않은 것일 수 있습니다. 또한 첫 번째 줄 (블록 ​​내)에 NSLog()을 넣고 전달 된 변수를 조사해 볼 수 있습니다. returnedMatcherror