2012-12-05 51 views
2

當我創建以下GKRequest對象來創建一個基於回合的遊戲:GKTurnBasedMatch忽略playerAttributes

GKMatchRequest *gameRequest = [[GKMatchRequest alloc] init]; 
gameRequest.minPlayers = 2; 
gameRequest.maxPlayers = 2; 
gameRequest.playerAttributes = MY_ROLE_1; 

此請求不應該與同playerAttributes另一個請求匹配,但它是。有沒有人知道playerAttributes在回合制遊戲中是否被忽略?

回答

1

根據此頁:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchmakingwithGameCenter/MatchmakingwithGameCenter.html#//apple_ref/doc/uid/TP40008304-CH12-SW6

你的遊戲定義了一套完整的角色;所有由您的遊戲定義的角色必須在創建比賽時填充。這意味着您定義的角色和比賽中允許的球員數量之間有一個仔細的協調。因此,玩家屬性需要額外的設計和測試工作。

基於回合制的遊戲可以創建空座位,玩家可以在輪到他們時發現。如果上述說法屬實,那麼對於基於回合的遊戲,playerAttributes將被忽略,因爲它們不能在比賽創建的時候被填充,否則會被填充。

+0

我不明白這一點,因爲它似乎也被我忽略了。 在我的遊戲中,兩個玩家都使用相同的playerAttributes創建一個GKMatchRequest,但是彼此匹配。 (我也設置playerGroup,但是這似乎按我期望的方式工作。)這似乎不正確。難道我做錯了什麼? –

+0

我們清楚地進入了文檔詮釋學,但我不禁要問,蘋果[別處](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchmakingwithGameCenter/MatchmakingwithGameCenter.html#//apple_ref/doc/uid/TP40008304-CH12-SW12)指的是與'playerAttributes'有關的國際象棋(顯然是基於回合的遊戲,人們會認爲)。話雖如此,我的應用程序使用'GKTurnBasedMatch'並且(現在)也可以看到它的'playerAttributes'(但不是'playerGroup')被忽略。 – Drux