Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在Game Center上验证本地用户时出现延迟_Iphone_Ios_Cocos2d Iphone_Game Center - Fatal编程技术网

Iphone 在Game Center上验证本地用户时出现延迟

Iphone 在Game Center上验证本地用户时出现延迟,iphone,ios,cocos2d-iphone,game-center,Iphone,Ios,Cocos2d Iphone,Game Center,对于cocos2d游戏,我在AppDelegate的ApplicationIDFinishLaunching方法中验证本地用户。然而,每当身份验证完成时,当小“欢迎回来,X”消息滑下和滑上时,就会在我的游戏中造成短暂的延迟。问题是我无法控制此身份验证何时完成–很明显,持续时间在很大程度上取决于设备的数据连接 有时,当我在菜单场景中时,消息(以及无法避免的伴随延迟)会立即出现,这在某种程度上是可以接受的,因为我的菜单或多或少是静态的。通常情况下,这种情况会在游戏开始后发生。因为我的游戏是一个无休止

对于cocos2d游戏,我在AppDelegate的
ApplicationIDFinishLaunching
方法中验证本地用户。然而,每当身份验证完成时,当小“欢迎回来,X”消息滑下和滑上时,就会在我的游戏中造成短暂的延迟。问题是我无法控制此身份验证何时完成–很明显,持续时间在很大程度上取决于设备的数据连接

有时,当我在菜单场景中时,消息(以及无法避免的伴随延迟)会立即出现,这在某种程度上是可以接受的,因为我的菜单或多或少是静态的。通常情况下,这种情况会在游戏开始后发生。因为我的游戏是一个无休止的滚动条,所以消息总是会导致玩家移动滞后,甚至有时会导致玩家死亡(滞后半秒就足够了:-/)


我怎样才能避免这种情况?我曾经在菜单场景之前有一个加载场景来加载我的一些资产,因为加载需要一段时间,所以在加载场景中总是有很好的机会完成身份验证,但我当然不能保证这是真的

如果您的连接不好,游戏中心可以让游戏在开始时冻结一点。我怀疑在不同的线程上加载GameCenter是否是一个好主意(甚至会对其产生影响),但作为解决问题的方法,您可以在游戏开始滚动/移动之前给它一个3-2-1倒计时。会给游戏中心多一点时间,让玩家有更多的时间来建立自己的注意力,直接在游戏中认真开始可能不符合一些玩家的喜好。
我希望这会有所帮助。

如果您的连接不好,游戏中心可以在游戏开始时让游戏暂时冻结。我怀疑在不同的线程上加载GameCenter是否是一个好主意(甚至会对其产生影响),但作为解决问题的方法,您可以在游戏开始滚动/移动之前给它一个3-2-1倒计时。会给游戏中心多一点时间,让玩家有更多的时间来建立自己的注意力,直接在游戏中认真开始可能不符合一些玩家的喜好。
我希望这能有所帮助。

谢谢你的建议。。事实上,我确实有一个3-2-1倒计时,但很多时候,倒计时后仍然会出现弹出窗口。我想这种滞后是无法避免的!我已经在iPhone和iPad上看到了很多知名游戏的滞后性,所以你可以尝试一个更稳定的连接,看看它是如何运行的,但是,是的,我担心你有点被卡住了。这种情况在Temple Run中经常发生。在游戏开始时将gc manager类中的bool设置为false可能不是一个坏主意,如果设置为false,将阻止ping方法向gc发送身份验证请求。谢谢您的建议。。事实上,我确实有一个3-2-1倒计时,但很多时候,倒计时后仍然会出现弹出窗口。我想这种滞后是无法避免的!我已经在iPhone和iPad上看到了很多知名游戏的滞后性,所以你可以尝试一个更稳定的连接,看看它是如何运行的,但是,是的,我担心你有点被卡住了。这种情况在Temple Run中经常发生。在gc管理器类中设置bool,在游戏开始时将其设置为false,这可能不是一个坏主意,如果设置为false,将阻止ping方法向gc发送身份验证请求。