我正在构建一个使用游戏中心的iPhone游戏,我很难理解如何通过收到朋友的邀请开始比赛。文档说..。
当应用程序直接从另一个播放器接收邀请时,acceptedInvite参数是非零。在这种情况下,其他玩家的应用程序已经创建了匹配请求,因此您的应用程序的这个副本不需要创建一个。
根据这一点,我不需要创建一个比赛请求,因为球员谁做了邀请已经创建了一个。如果是这样的话,我如何获得向另一个播放器发送/接收数据所需的GKMatch对象?获得GKMatch对象的唯一方法是创建一个匹配请求并调用findMatchForRequest方法,文档说我不应该这样做。
他们为此提供的唯一代码示例涉及创建和使用GKMatchmakerViewController,因为我正在创建自己的自定义视图,因此不能使用该示例。
非常感谢你的智慧!
发布于 2011-01-09 19:27:23
我收到一位苹果工程师的回复,他说.
您可以使用自定义视图进行自动匹配,但是如果不使用GKMatchmakerViewController,就无法使用邀请。因此,您应该遵循代码示例。
我想我的UI的一致性肯定会有很大的突破。
发布于 2011-07-11 21:09:21
我已经解决了游戏中心的邀请问题。因此,按照以下步骤:-
1-检查您的推送通知在设置和朋友邀请在您的游戏中心帐户设置。
2-现在安装最新版本的水果忍者游戏
3-开放游戏中心并登录,然后将其放在后台。
开放果品忍者直接进入新game=>multiplayer=>gamecenter
5-现在你会看到两个选项(邀请朋友&现在就在右上角玩)
按下“现在就玩”按钮,游戏中心会为你找到不请自来的游戏。
当游戏开始时,你可以在右上角看到你不请自来的朋友的名字。游戏结束后,直接去游戏中心的背景和你的游戏部分,并进入水果忍者在游戏列表。在这里,你会看到最近发挥的选项,触摸它。在这里,你会看到在列表的顶部,一个玩家的名字(你玩过的人),触摸这个名字,并立即发送给他朋友的请求。
8-如果他接受请求,goto friends=>(你最近添加的朋友)=>gameplayed(水果忍者)=>hit play(右上)
现在游戏会打开,你会看到GC页面。点击“邀请”按钮,选择最近添加的朋友,然后发送,等待他并准备播放。
现在,您的gc id已经验证,您可以邀请任何朋友,并可以玩任何游戏(支持邀请功能)。
发布于 2012-05-16 18:53:58
尽管这位苹果工程师说了些什么,不如试试这样的东西,在不使用自定义视图的情况下邀请它吧:
[[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有一个名为playersToInvite的属性,我们可以将这些播放器设置为该属性。并以编程方式使用此请求创建匹配。
这看起来很有可能,但我还没试过说实话
https://stackoverflow.com/questions/4638046
复制相似问题