2012-02-26 41 views
1

對於我的cocos2d遊戲,我在AppDelegate的applicationDidFinishLaunching方法中驗證本地用戶。但是,只要身份驗證完成,當「歡迎回來,X」消息滑下並備份時,就會在我的遊戲中造成短暫的延遲。問題是,我無法控制何時驗證完成 - 顯然,持續時間高度依賴於設備的數據連接。在Game Center上驗證本地用戶時延遲

有時,當我在菜單場景中時,消息(以及不可避免的伴隨延遲)出現,這在某種程度上是可以接受的,因爲我的菜單或多或少是靜態的。通常情況下,遊戲已經開始時會發生。因爲我的遊戲是一個無休止的卷軸,這個信息總是會導致玩家的移動滯後,甚至有時會導致玩家死亡(半秒滯後就足夠了: - /)。

我該如何繞過這個?我曾經在我的菜單場景之前有一個加載場景來加載我的一些資源,並且因爲加載需要一段時間,所以在加載場景中總是有很好的機會完成認證,但是當然我不能保證它會是真的!

回答

1

如果連接不好,遊戲中心可以讓遊戲凍結一小會兒。我懷疑在不同的線程上加載GameCenter會是一個好主意(或者甚至會對此產生影響),但是您可以解決您遇到的問題的方法是讓遊戲進行3-2-1倒計時在它開始滾動/移動之前。會給遊戲中心多一些時間和玩家建立自己的焦點的時間,在一場比賽中開始認真對待一些球員。 我希望這可以幫助。

+0

感謝您的建議..事實上,我確實有一個3-2-1倒計時,但很多時候,倒計時仍然出現在倒計時結束。那麼我猜這個滯後不可能真的被避免! – 2012-02-26 13:34:07

+0

我已經在iPhone和iPad上看到過許多知名遊戲的滯後性,所以你可以嘗試一個更穩定的連接,看看它是如何發展的,但是,我擔心你有點卡住它。 – 2012-02-26 14:02:19

+0

這在Temple Run中發生了很多。在你的gc manager類中設置一個bool可能並不是一個壞主意,當遊戲開始時你設置爲false,如果設置爲false,則使你的ping方法不會向gc發送認證請求。 – 2012-03-27 19:02:46