1

Game Center 文档表明

playersToInvite当您的应用程序直接从 Game Center 应用程序启动以托管比赛时,参数不为零。

一些人问这究竟是如何工作的,即似乎没有办法从 Game Center 应用程序中选择朋友并邀请他们Game Center 玩;仅当您在游戏中邀请时才有效。此文档是否已过时,或者是否有从 Game Center 开始特定游戏比赛的秘密方法?我想测试一下inviteHandler,但我无法确定如何将此参数传递给应用程序。

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite)
{
    // clean up games in progress here
    if (acceptedInvite)
    {
        NSLog(@"acceptedInvite %@", acceptedInvite);
        // The acceptedInvite parameter is non-nil when the application receives an 
        // invitation directly from another player.
        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
        mmvc.matchmakerDelegate = self;
        [self disableHomeUI];
        [self presentModalViewController:mmvc animated:YES];
    }
    else if (playersToInvite)
    {
        NSLog(@"playersToInvite %@", playersToInvite);
        // playersToInvite parameter is non-nil when your application is launched 
        // directly from the Game Center application to host a match
        [self disableHomeUI];
        [self doPresentMatchMakerUIWithPlayersToInvite:playersToInvite];
    }
};
4

4 回答 4

1

在将我的应用程序 Cee-lo 投入生产后,playersToInvite代码开始生效。这似乎是因为游戏中心应用程序的沙盒版本本身不允许您从那里与玩家一起开始游戏,但生产版本可以。如果你问我不是一个很好的测试环境!

于 2010-11-09T07:26:12.127 回答
1

我认为这些文档并不能反映当前的事态。据我所知,游戏中心应用程序目前甚至没有提供邀请朋友玩的界面。

另外,检查开发者论坛(显然你有;))。来自库比蒂诺的人似乎认为这是不可能的。所以...

于 2010-10-19T21:54:24.763 回答
1

现在有一种方法可以使用 Game Center 应用程序邀请 Game Center 好友。仅当您的游戏在 localPlayer GKPlayer 上调用 registerListener: 时才有效:

Game Center App -> 游戏选项卡 -> 你的游戏 -> 玩家部分 -> 选择玩家 -> “玩游戏”

这将向其他玩家发送推送通知邀请。游戏不必任一设备上运行。从 iOS7 开始。

此流程也适用:Game Center 应用程序 -> 朋友选项卡 -> 点击一个朋友 -> 点击一个共同游戏(您的游戏) -> 点击右上角的“...” -> 点击“玩”

于 2014-03-05T18:49:30.640 回答
0

我可能是错的,但我认为它只是不能邀请特定朋友玩的“模拟器”。

我已经能够使用在沙盒中运行的 2 个或更多 iPhone 来邀请特定的朋友一起玩,并且它在调试邀请处理程序代码方面非常有效。

正如另一张海报所提到的,目前似乎没有邀请特定朋友从 Game Center 玩特定游戏的方式。

快乐游戏!

于 2011-06-30T12:52:17.320 回答