我目前正在创建一个游戏中心游戏,并使用可用的点对点功能。然而,我想选择其中一个玩家(2个玩家)作为主机,以确保同步。
从可用的玩家中选择一个主机(甚至是随机的)并确保其他设备知道选择了哪个主机是最好的方法?
我目前正在创建一个游戏中心游戏,并使用可用的点对点功能。然而,我想选择其中一个玩家(2个玩家)作为主机,以确保同步。
从可用的玩家中选择一个主机(甚至是随机的)并确保其他设备知道选择了哪个主机是最好的方法?
已经发布了答案,这里还有样例代码来完成那件事
NSString *uid = [[UIDevice currentDevice] uniqueIdentifier];
CoinTossID = [uid hash];
现在在委托函数中
- (void)match:(GKMatch *)match didReceiveData:(NSData *)data fromPlayer:(NSString *)playerID
{
NSMutableArray *ReceivedArray = [[NSMutableArray alloc] init];
ReceivedArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
int flag = [[ReceivedArray objectAtIndex:0] intValue];
[ReceivedArray removeObjectAtIndex:0];
int CoinValue = [ReceivedCoinTossID intValue];
if(CoinValue > CoinTossID)
{
isPlayer1 = YES;
}
else
{
isPlayer1 = NO;
}
}
这篇是一个非常好的、简单的教程,其中包含代码演示如何实现这一点。他们随机选择其中一个节点作为主机。希望能对你有所帮助!