2011-02-10 203 views
0

我使用Game Center matchmaking/multiplayer實現了一個2人玩家基於轉換的遊戲,換句話說就是使用GKMatch。它運作良好。只有一個問題:當一個玩家斷開連接(即退出應用程序)時,需要一段時間才能得知其他玩家(match:player:didChangeState:)。有時甚至30秒。遊戲中心多人遊戲,連接超時時間很長

這不是一個好的用戶體驗。如果其他玩家在30秒前斷開連接,我不希望玩家等待。

2個問題:

  • 這是隻與沙盒服務器的問題?
  • 如果不是,我該怎麼做才能縮短/消除這個等待期?
+0

也許這只是由網絡問題引起的。您是否嘗試過使用其他網絡? – ender 2011-02-10 20:41:49

+0

你好,我有類似的問題。我已經實現了與4人多玩家遊戲。現在當一名玩家斷線休息時,所有3名玩家斷開連接。我想要的是如果1人將斷開連接,然後休息3應繼續玩。是否有可能。和 – 2012-10-03 10:54:05

回答

0

我沒有依靠GC的notifyPlayer ..從DC一切退出遊戲接聽電話我處理我自己的代碼..

我的代碼中,當玩家A按home鍵,指應用程序委託人的applicationDidEnterBackground,數據被髮送給玩家B以通知該玩家A已經退出遊戲。這樣,當玩家A退出時,玩家B將立即知道玩家A已經退出。而不是等待遊戲中心通知你。