J'utilise SpriteKit et actuellement à l'utilisateur d'ouvrir l'application à un écran d'atterrissage qui signe l'utilisateur dans GameCenter et des charges importantes données de jeu qui sera affiché dans la scène de menu suivant (nom d'affichage, niveau, etc.)Comment puis-je changer de scène SpriteKit après le chargement des données et m'assurer que GameCenter se connecte correctement?
Comment puis-je vérifier que tout se charge avant de passer à la scène suivante?
J'ai essayé de tester en utilisant une version simplifiée ci-dessous, mais il n'a jamais semblé être exécuté en dépit d'être dans la fonction de mise à jour.
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")
}
}
Il est possible que ce que je suis à la recherche est une dépêche asynch pour afficher la scène du menu après les données appropriées peuvent être tirées et peuplées sur cette scène - et de montrer la scène d'atterrissage dans l'intervalle? Je ne suis pas tout à fait sûr comment cela fonctionne, ou si c'est même la bonne solution. Les conseils ici seraient grandement appréciés.
Mais pourquoi la fonction de mise à jour n'appelle-t-elle pas cela si test d'instruction?
Vous devez réinitialiser votre compte de centre de jeu dans le simulateur pour le faire fonctionner. Vous avez probablement été refusé 3 fois en effectuant vos différents tests, donc il a décliné définitivement – Knight0fDragon