6

我正在构建一个使用 Game Center 的 iPhone 游戏,但我很难理解如何开始一场比赛,该比赛是通过收到朋友的邀请开始的。医生说这...

当应用程序直接从另一个玩家收到邀请时,acceptedInvite 参数不为零。在这种情况下,其他玩家的应用程序已经创建了比赛请求,因此您的应用程序的这个副本不需要创建一个。

据此,我不需要创建匹配请求,因为邀请的玩家已经创建了一个。如果是这样,我如何获得向/从其他玩家发送/接收数据所需的 GKMatch 对象?我知道获取 GKMatch 对象的唯一方法是创建一个匹配请求并调用该findMatchForRequest方法,文档说我不应该这样做。

他们为此拥有的唯一代码示例涉及创建和使用GKMatchmakerViewController,因为我正在创建自己的自定义视图,所以我不能使用它。

非常感谢你的智慧!

4

3 回答 3

1

我收到了一位 Apple 工程师对此的回复,他是这么说的……

您可以使用自定义视图进行自动匹配,但如果不使用 GKMatchmakerViewController,就无法使用邀请。因此,您应该遵循代码示例。

我想我的 UI 的一致性必须彻底打破。

于 2011-01-09T19:27:23.700 回答
0

我修复了游戏中心邀请问题。所以请按照以下步骤操作:-
1- 检查您的推送通知是否已在设置中打开,好友邀请是否已在您的游戏中心帐户设置中打开。
2-现在安装最新版本的水果忍者游戏
3-打开游戏中心并登录,然后将其置于后台。
4-打开水果忍者直接进入新游戏=>多人游戏=>游戏中心
5-现在你会看到两个选项(在右上角邀请朋友和立即玩)
6-点击立即玩按钮,所以游戏中心会找到不请自来的游戏给你。
7-当游戏开始时,你可以在右上角看到你不速之客的名字。游戏结束后,直接进入后台游戏中心和游戏区,进入游戏列表中的水果忍者。在这里,您将看到最近播放的选项,触摸它。在这里,您将在列表顶部看到一个玩家姓名(与您一起玩的人)触摸该姓名并立即向他发送好友请求。
8-如果他接受请求转到朋友=>(您最近添加的朋友)=>一起玩游戏(水果忍者)=>点击播放(右上角)
9-现在游戏将打开,您将看到 GC 页面。点击邀请按钮并选择最近添加的朋友,然后发送,等待他并准备玩。

现在你的gc id已经验证了,你可以邀请你的任何朋友,可以玩任何游戏(支持邀请功能)

于 2011-07-11T21:09:21.513 回答
0

尽管苹果工程师说了什么,不如尝试这样的方式来邀请而不使用自定义视图:

[[GKLocalPlayer localPlayer] loadFriendsWithCompletionHandler:^(NSArray *friends, NSError *error) {



[GKPlayer loadPlayersForIdentifiers:friends withCompletionHandler:^(NSArray *players, NSError *error) {
    for (GKPlayer *player in players) {
        NSLog(@"%@",player.alias); //here I'm just logging the aliases but the array players can be used in any way
    }
}];

} ];

现在,如果用户在自定义视图上从该列表中选择球员,GKMatchRequest 有一个名为 playerToInvite 的属性,我们可以将这些球员设置为该属性。并使用此请求以编程方式创建匹配项。

这看起来很有可能,但老实说我还没有尝试过

于 2012-05-16T18:53:58.220 回答