从UIViewController切换到SKSCene没有显示任何内容

时间:2016-10-18 12:16:38

标签: ios swift sprite-kit

我已经开始使用Spritekit创建一款战斗游戏了。

我有一个启动画面和主菜单。 我使用UIViewController创建这两个页面,使用SKScene创建游戏场景。 现在在MainMenu我想在Play按钮动作中切换到GameScene 但GameScene没有显示任何内容。 我在GameScene中有突破点,令人惊讶的是,didMoveToView中的所有代码都在运行,但我的页面凹陷切换到GameScene 我还在MainMenu。

我使用以下代码从uiviewcontroller切换到游戏场景:

@IBAction func playButton(sender: UIButton) {

    let scene = GameScene(size:view.bounds.size)//(fileNamed: "GameScene") {
    let skView = self.view as! SKView
    skView.showsFPS = true
    skView.showsNodeCount = true
    skView.ignoresSiblingOrder = true
    scene.scaleMode = .AspectFill
    skView.presentScene(scene)


}

override func didMoveToView(view: SKView) {
    /* Setup your scene here */
    let myLabel = SKLabelNode(fontNamed:"Chalkduster")
    myLabel.text = "Hello, World!"
    myLabel.fontSize = 45
    myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))

    self.addChild(myLabel)
}

正在运行,我可以通过断点导航到它。

1 个答案:

答案 0 :(得分:0)

最后我发现了问题。 我不得不从superview中删除UIImages,Buttons,Labels等所有对象。 像这样:

       for view in self.view.subviews {
        view.removeFromSuperview()
       }

他们没有让GameScene Nodes出现。