2017-09-27 80 views
0

我使用SpriteKit,目前拥有用户打开应用程序的登陆屏幕,其签署成用户将被显示在下面的菜单现场的GameCenter和负荷重要的比赛数据(显示名称,级别等)加载数据并确保GameCenter成功登录后,如何切换SpriteKit场景?

如何在移至下一个场景之前检查并确保所有内容都已加载?

我尝试使用下面的简化版本进行测试,但尽管处于更新功能中,它似乎仍未运行。

override func update(_ currentTime: CFTimeInterval) { 

    // This doesn't seem to ever be called. 
    if(GKLocalPlayer.localPlayer().isAuthenticated) { 
     let transition = SKTransition.fade(with: UIColor.clear, duration: 1.0) 
     let scene = Menu(size: (view?.bounds.size)!) 
     scene.scaleMode = .aspectFill 
     self.view?.presentScene(scene, transition: transition) 
     print("Changed to Menu scene") 
    } 

} 

这可能是我要找的是一个非同步调度显示菜单一幕适当的数据可以拉出,并填充上的那一幕 - 并显示在此期间登陆的场景?我不完全确定它是如何工作的,或者它甚至是正确的解决方案。建议在这里将不胜感激。

但是,为什么更新函数不调用,如果语句测试?

回答

0

对于阅读此内容的任何人 - 上述代码确实可以在真实设备上使用。事实证明它只在模拟器上不起作用。

+0

您需要在模拟器中重置您的游戏中心帐户以使其运行。在进行各种测试时,您可能会下降3次,因此将其设置为永久性下降 – Knight0fDragon