Gamekit / gamecenter以编程方式随机配对

时间:2013-02-06 11:07:13

标签: ios xcode gamekit

我正在尝试使用我自己的自定义用户界面以编程方式实现随机匹配。

我有点卡住..

使用在Apple网站上找到的代码我可以创建一个没有问题的匹配

- (void)findProgrammaticMatch
{
    GKMatchRequest *request = [[GKMatchRequest alloc] init];

    request.minPlayers = 2;
    request.maxPlayers = 2;


    [GKTurnBasedMatch findMatchForRequest: request withCompletionHandler:^(GKTurnBasedMatch *match, NSError *error)
     {
         if(error)
             NSLog(@"ERROR");
         if (match) {

             NSLog(@"STARTING MATCH");
         }

     }];
}

如果我做match.participants.count我得到数字2 ...

但是一个参与者是我,另一个参与者是空的

我测试的是创建2个沙箱帐户,我用我的其他游戏中心帐户运行相同的代码,我创建了一个新游戏,但由于某种原因它没有匹配它们。我错过了什么?

我一直在寻找谷歌的例子,但我似乎找不到任何...如果你们任何人都知道我可以找到一些例子,我将非常感激

1 个答案:

答案 0 :(得分:0)

好吧,你可能错过了基于匹配制作的基本点。当用户启动自动匹配时,如果他没有连接到现有匹配,则启动新游戏并且用户进行第一轮。只有在他完成其他用户之后,其他用户才能连接到这个游戏。因此,如果你正在制作一个2人匹配:一个用户应该开始一个新游戏,其他用户在那个时候为空,而另一个用户应该在第一个完成轮到他之后连接到现有游戏(调用endTurnWithMatchData)

这在文档中并不十分清楚(我鄙视游戏中心文档,不清楚和不完整)但是sdk 6就是这种情况。我认为它会在不久的将来发生变化。