2010-12-31 12 views
-1

ゲームセンターのマルチプレイヤーを数日間実装しようとしていて、GKMatchViewController以外のものを手に入れようと苦労しています。ここでGame Center - マルチプレイヤーのための接続

は私の問題を説明しようとする試みである:

私は2つのビュー、1はマルチプレイヤーが起動し、プレイヤーが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 =要求された操作がキャンセルされました}

それから、「Finding Players ...」ビューにとどまります。

私はそれがどのようにstackoverflowが動作しないのか理解していますが、私は多くの問題を抱えていて、それらをリストするにはエッセイのようになります。私はちょうどゲームセンターの機能に掛け持っているとは思わない。

誰かが私のコードをSkypeやichatなどで見て5〜10分を費やすことができれば、余分な経験を大いに感謝します。

あなたは与えられたヘルプの最新のアップデートに入金されます! ;)

私は17歳で、あなたには幅広い理解と経験がなく、明白なハードルを乗り越えているかもしれません。

あなたが私を助けてくれることを願っています。私のskype/ichatの名前は:kahanejoshです。メールは[email protected]です。

+0

私は理解していますが、私は現在の問題を取り上げて編集しました。 –

答えて

1

私はGameCenterで何かをしたことはありませんでしたが、とにかく助けてもらえるかもしれません。エラーが発生した場合、逆ジオコーダーでエラーが発生すると、リクエストを実行する時間がないことがわかりました。 findMatchForRequest:を実行してエラーが発生するため、リクエスト変数が完全に設定されていない可能性があります。最初の行(ブロック内)にNSLog()を入れて、渡された変数を調べることもできますreturnedMatcherror

関連する問題