在Game Center上validation本地用户时滞后

对于我的cocos2d游戏,我在AppDelegate的applicationDidFinishLaunching方法中validation本地用户。 但是,只要authentication完成,当“欢迎回来,X”消息滑落并备份时,就会在我的游戏中造成短暂的延迟。 问题是我无法控制何时validation完成 – 很明显,持续时间高度依赖于设备的数据连接。

有时,当我在菜单场景中时,消息(以及不可避免的伴随延迟)出现,这是可以接受的,因为我的菜单或多或less是静态的。 通常情况下,游戏已经开始的时候会发生。 因为我的游戏是一个无休止的卷轴,所以这个信息总是会导致玩家的移动,甚至有时会导致玩家死亡(半秒滞后就足够了: – /)。

我怎样才能绕过这个? 我以前在菜单场景之前有一个加载场景来加载我的一些资源,而且由于加载需要一段时间,在加载场景中总是有很好的机会完成authentication,但是当然我不能保证这将是真实的!

游戏中心可以让游戏冻结一点,如果你的连接不好。 我怀疑在不同的线程上加载GameCenter会是一个好主意(甚至会对此产生影响),但是你可以做什么来解决你所遇到的问题,就是给游戏一个3-2-1的倒计时在开始滚动/移动之前。 会给游戏中心多点时间和玩家build立自己的关注时间,直接开始在游戏中严肃起来可能不会是一些玩家的喜好。 我希望这有帮助。