我对游戏中心完全陌生,我已经设法邀请朋友并管理打开按钮的 IBAction。
我正在使用 GKTurnbasedMatch 来管理回合,但对于多人游戏,如何向邀请的玩家选择类别的所有玩家显示卡片。
我怎么得到这个?
我对游戏中心完全陌生,我已经设法邀请朋友并管理打开按钮的 IBAction。
我正在使用 GKTurnbasedMatch 来管理回合,但对于多人游戏,如何向邀请的玩家选择类别的所有玩家显示卡片。
我怎么得到这个?
这是关于 Gamecenter / 回合制的精彩教程:
http://www.raywenderlich.com/5509/beginning-turn-based-gaming-with-ios-5-part-2
特别是这部分:
如果我们发现 lastTurn 为空,我们将假设我们正在处理一个新的匹配,否则我们将假设我们已经有我们将要处理的 matchData。于是打开GCTurnBasedMatchHelper.m,将didFindMatch方法替换为如下:
-(void)turnBasedMatchmakerViewController:
(GKTurnBasedMatchmakerViewController *)viewController
didFindMatch:(GKTurnBasedMatch *)match {
[presentingViewController
dismissModalViewControllerAnimated:YES];
self.currentMatch = match;
GKTurnBasedParticipant *firstParticipant =
[match.participants objectAtIndex:0];
if (firstParticipant.lastTurnDate) {
NSLog(@"existing Match");
} else {
NSLog(@"new Match");
}
}
您要做的是每回合将所有数据发送给所有玩家,因此当玩家第一次去(和发牌)时,他们应该将手牌发送给所有玩家。当他们不交易时,您不必发送所有数据,因此您可以发送不同类型的消息。发送信息:
BOOL success = [[GameCenterManager sharedInstance].Match sendDataToAllPlayers:data withDataMode:GKMatchSendDataReliable error:&error];
只要确保数据有一个类型,这通常是消息的第一个字节,然后在客户端,读取第一个字节以确定它是什么类型的消息,然后使用 switch 语句或任何你喜欢的处理与不同类型的消息。