iphone - 如何在多人游戏中同步数据(game-center ios)

标签 iphone objective-c ios ipad game-center

我一直在为 Game Center 开发一款游戏。

游戏描述:-

一名玩家是游戏的发起者,因为游戏有 5 个平铺 map (任一玩家(发起者)仅随机选择一个平铺 map )。发起者将选择的瓦片 map 发送给第二个玩家,现在这个瓦片 map 将绘制在第二个玩家一侧。(此时两个玩家都有相同的瓦片 map )

当我通过向玩家发送邀请来开始游戏时,这工作正常。

但是当我通过“automatch”开始游戏时,我无法找到谁将成为发起者(谁将发送随机选择的图 block map )。

我通过以下代码创建了一名玩家发起者:

isThisInvited_Player = YES;  
[[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_INVITATION_ACCEPTED object:nil];


- (void)authenticationChanged {    

    if ([GKLocalPlayer localPlayer].isAuthenticated && !userAuthenticated) {
       userAuthenticated = TRUE;  

    [GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite) {

        isThisInvited_Player = YES;
        self.pendingInvite = acceptedInvite;
        self.pendingPlayersToInvite = playersToInvite;
        [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_INVITATION_ACCEPTED object:nil];

    };

} else if (![GKLocalPlayer localPlayer].isAuthenticated && userAuthenticated) {
   userAuthenticated = FALSE;
}

}

如果“automatch”中无法进行数据同步,请告诉我,如何禁用游戏中心 View Controller 中的自动匹配(播放)按钮。

最佳答案

您可以通过按玩家 ID 对两个玩家进行排序来选择发起者是谁,然后始终将排序数组中的第一个玩家作为发起者。

关于iphone - 如何在多人游戏中同步数据(game-center ios),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820097/

相关文章:

objective-c - 如何子类 NSArrayController 来选择添加 : 上的文本字段

objective-c - 使用 SenTest 测试断言

iphone - iOS FBConnent 登录弹出问题

iphone - View 在自动布局中消失,ios

iphone - 为什么这段代码会产生内存泄漏?

objective-c - "{}"表示数组或

ios - 如何减少 WKInterfaceTable 中的行间距

ios - 扩展中的 Swift 覆盖功能

ios - 为更新节拍器中的 bpm 而转换 Y 坐标的微积分

jquery - 使用 json 向 RESTful WCF 发送 Post 请求