我目前正在創建一個遊戲中心遊戲,並且正在使用可用的點對點功能。不過,我想選擇一名玩家(2名玩家)作爲主持人,以確保同步。遊戲中心主機
什麼是從可用播放器中選擇主機(甚至是隨機)的最佳方式,並確保其他設備知道選擇了哪個主機?
我目前正在創建一個遊戲中心遊戲,並且正在使用可用的點對點功能。不過,我想選擇一名玩家(2名玩家)作爲主持人,以確保同步。遊戲中心主機
什麼是從可用播放器中選擇主機(甚至是隨機)的最佳方式,並確保其他設備知道選擇了哪個主機?
This是一個很好的簡單的教程,演示瞭如何做到這一點的代碼。他們隨機選擇其中一個成爲主機。希望有助於!
已經發布的答案,仍然在這裏是示例代碼做那件事
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;
}
}
謝謝,使用設備ID也應該工作。但是,請注意iOS 5中已棄用[[UIDevice currentDevice] uniqueIdentifier]。使用[GKLocalPlayer localPlayer] .playerID可能會更好。 – user1007649
感謝,隨機數招應該工作:)。我想我一直沉浸於試圖尋找一個持續且持久的playerID狀字符串,然後進行比較,以至於我甚至都沒有仔細想過。再次感謝 – user1007649
沒問題,很高興我能幫忙! – msgambel