在Sprite Kit游戏中重置SKScene

时间:2017-09-12 14:20:55

标签: ios swift sprite-kit skspritenode skscene

我正在开发一款游戏。

我的第一个屏幕包括3个按钮:排行榜,成就和游戏。

当我点击播放时,会显示游戏场景。

let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = GameScene(fileNamed: "GameScene")
next_scene?.scaleMode = scaleMode
view?.presentScene(next_scene!, transition: transition)

当用户死亡时,我想重置游戏场景,包括删除所有内容并再次调用didMove函数。我想删除游戏场景并再次创建它。

我该怎么做?

我试过

self.view?.presentScene(nil)
let transition = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
let next_scene = MainMenu(size: self.size)
next_scene.scaleMode = scaleMode
self.view?.presentScene(next_scene, transition: transition)

但是场景空白,有0个节点。

1 个答案:

答案 0 :(得分:0)

尝试这样做:`

  let gameSceneTemp = sceneName(fileNamed: "fileName")
                gameSceneTemp?.scaleMode = self.scaleMode
                self.scene?.view?.presentScene(gameSceneTemp!, transition: SKTransition.doorsCloseHorizontal(withDuration: 0.0))`

我有时也会创建不在SKScenes文件中的对象,如果你使用的是addChild,那么你就不应该有任何问题。