1

次のようなオンライン ゲームを開始します。

    request = [[[GKMatchRequest alloc] init] autorelease];
    request.minPlayers = 2;
    request.maxPlayers = 2;
    mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];

デリゲート メソッドを受け取ったら:

    - (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindMatch:(GKMatch *)match

プレイヤーが自動対戦を選択したか、友達を招待したかを知る方法。

よろしくお願いします。

4

1 に答える 1

0

その時点ではわからないと思いますが、招待ハンドラーで何が起こったのかを次のように保存できます。

    [GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite) {    
            if (acceptedInvite){
               // this player has accepted an invite
               acceptedInvite = YES;
               ....
            } else if (playersToInvite) {
               // this player is making an invite
              sentInvite = YES
              ...
            }
        };

これらの変数のいずれも YES に設定されていない場合は、自動一致であると推測できると思います。ゲーム内の適切な場所で、両方を NO に設定することを忘れないでください。

于 2011-05-19T19:44:16.270 に答える