我怎样才能重新启动 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 文档。
我正在制作游戏。游戏结束后,我会显示一个按钮 "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 文档。