2017-09-27 15 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") 
    } 

} 

그것은 적절한 데이터를 뽑아 그 현장에 채울 수 있습니다 후 내가 무엇을 찾고 있어요하면 메뉴 화면을 표시하는 비동기 파견은 가능성 - 그리고 그 동안 착륙 장면을 보여? 나는 그것이 어떻게 작동하는지, 그것이 올바른 해결책인지 완전히 모른다. 여기에 조언 크게 감사하겠습니다.

하지만 업데이트 기능이 if 문 테스트가 아닌 이유는 무엇입니까?

답변

0

위의 코드는 실제로 실제 장치에서 작동합니다. 시뮬레이터에서만 작동하지 않는 것으로 밝혀졌습니다.

+0

시뮬레이터에서 게임 센터 계정을 재설정해야 작동 할 수 있습니다. 다양한 테스트를 할 때 3 번이나 거절했을 가능성이 큽니다. 그래서 영구적 인 하락으로 설정했습니다. – Knight0fDragon