2017-04-07 6 views
1

내 Spritekit 게임에 메인 메뉴를 구현하려고하는데 장면을 표시하려고 할 때마다 빈 회색 스크린이 표시됩니다. 다음 코드는 게임 자체가 아니라에게 메뉴를 제공하는, 바로 지금입니다 :스위프트 2 게임 메인 메뉴

class GameViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let scene = GameScene(fileNamed:"GameScene") { 

     let skView = self.view as! SKView 
     skView.showsFPS = true 
     skView.showsNodeCount = true 
     skView.showsDrawCount = true 

     skView.ignoresSiblingOrder = true 

     scene.scaleMode = SKSceneScaleMode.AspectFill 
     skView.presentScene(scene) 

    } 
} 

나는이 새로운 해요, 그리고 내가 메뉴 장면 GameScene를 교체하려고 그렇게 할 무엇 확실하지 않았다, 그것은 나에게 회색 스크린을 주었다. 어떤 도움을 주시면 감사하겠습니다.

+0

가지고는 init FUNC가 필요합니다 파일 MenuScene을 만들었습니까? 당신은 씬 편집기 나 코드에서만 그것을 만들었습니까? –

+0

@RonMyschuk 예, MenuScene을 코드로 만 만들었습니다. – shadokyr

+0

위 코드는 장면 편집기에서 편집 한 .SKS 파일에서 장면을로드합니다. 나는 코드로만 작성된 파일을로드하기 위해 코드를 게시 할 것입니다 –

답변

1

만 사용하지 장면 편집기에서 코드에서 생성되는 SKScene 파일을로드하려면이 코드는 MenuScene에

override func viewWillLayoutSubviews() { 

    super.viewWillLayoutSubviews() 

    if let skView = self.view as? SKView { 

     if skView.scene == nil { 

      let scene = MenuScene(size: skView.bounds.size) 

      skView.showsFPS = false 
      skView.showsNodeCount = true 
      skView.showsPhysics = true 
      skView.ignoresSiblingOrder = true 

      scene.scaleMode = .aspectFill 

      skView.presentScene(scene) 
     } 
    } 
} 

한 다음

init(size: CGSize) { 

    super.init(size: size) 

    name = "menuScene" 
} 
+1

감사합니다! – shadokyr