我正在构建一款使用Game Center的iPhone游戏,我很难理解如何开始通过收到朋友的邀请来开始的比赛游戏。 docs说这个......
acceptedInvite参数是 申请收到时为非零 直接来自他人的邀请 播放器。在这种情况下,另一个 玩家的应用程序已经存在 创建了匹配请求,所以这个 您的申请副本不需要 创建一个。
根据这个,我不需要创建匹配请求,因为进行邀请的玩家已经创建了一个匹配请求。如果是这样,我如何获得向/从其他播放器发送/接收数据所需的GKMatch对象?我知道获取GKMatch对象的唯一方法是创建匹配请求并调用findMatchForRequest
方法,文档说我不应该这样做。
他们唯一的代码示例涉及创建和使用GKMatchmakerViewController
,我无法使用,因为我正在创建自己的自定义视图。
非常感谢你的智慧!
答案 0 :(得分:1)
我收到了一位苹果工程师对此的回复,这就是他所说的......
您可以使用自定义进行自动匹配 观点,但没有办法使用 邀请不使用 GKMatchmakerViewController。那么你 应该遵循代码示例。
我想我的用户界面的一致性必须要彻底打破。
答案 1 :(得分:0)
我修复了游戏中心邀请问题。请按照以下步骤操作: -
1-检查您的推送通知是否已在设置中启用,并且您的游戏中心帐户设置中的朋友邀请已启用
2 - 现在安装最新版本的水果忍者游戏
3开放式游戏中心并登录,然后将其放入后台
4开水果忍者直接转到新游戏=> multiplayer => gamecenter
5 - 现在您将看到两个选项(邀请朋友和现在在右上角播放)
6点击现在播放按钮,所以游戏中心会为你找到不请自来的游戏
7-游戏开始时你可以在右上角看到你未被邀请的朋友的名字。游戏结束后,直接在后台和游戏部分直接进入游戏中心,然后进入游戏列表中的水果忍者。在这里,您将看到最近播放的选项,触摸它。在这里,您将在列表顶部看到一个玩家名称(您玩过的人)触摸该名称并立即向他发送好友请求。
8-如果他接受请求goto friends =>(你最近添加的朋友)=>一起玩游戏(水果忍者)=>点击播放(右上角)
9-现在游戏将打开,你将看到GC页面。点击邀请按钮,选择最近添加的朋友,然后发送,等待他并准备好玩。
现在您的gc ID已经过验证,您可以邀请任何朋友,也可以玩任何游戏(支持邀请功能)
答案 2 :(得分: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具有名为playersToInvite的属性,我们可以将这些玩家设置为该属性。并使用此请求以编程方式创建匹配。
这看起来很有可能,但我没有试过说实话