我怎样才能重新启动 SKScene?

How can i restart a SKScene?

我正在制作游戏。游戏结束后,我会显示一个按钮 "Play again",理想情况下,它应该只是重新加载场景。

var viewSize = currentScene.view?.bounds.size
let sceneG = Level1(size: viewSize!)
currentScene.view?.presentScene(sceneG)

但不幸的是,我收到了这个错误:

Attemped to add a SKNode which already has a parent:

因为有些节点已经存在于场景中,无法再次添加。

有没有办法在再次呈现场景之前重新加载场景或删除所有节点?

谢谢


应要求,这是Level1 class:

import SpriteKit
import CoreMotion

class Level1: SKScene {

  override func didMoveToView(view: SKView) {
   //creation of nodes etc
  }
}

如果您正在寻找一种方法来删除场景的所有子项,请使用此 func removeAllChildren()

查看使用节点树下的 SKNode 文档。