我一直在为 Game Center 开发游戏。
游戏说明:-
一个玩家是游戏的发起者,因为游戏有 5 个平铺地图(任一玩家(发起者)随机选择一个平铺地图)。发起者会将选定的瓦片地图发送给第二个玩家,现在这个瓦片地图将在第二个玩家一侧绘制。(此时两个玩家都有相同的瓦片地图)
当我通过向玩家发送邀请开始游戏时,这可以正常工作。
但是当我通过“automatch”开始游戏时,我无法找到谁将成为发起者(谁将发送随机选择的瓷砖地图)。
我通过以下代码创建了一个玩家发起者:
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;
}
}
如果“自动”中无法进行数据同步,请告诉我,如何禁用游戏中心视图控制器中的自动匹配(播放)按钮。