我正在开发一款游戏。
我的第一个屏幕包括 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 个节点使场景空白。
最佳答案
尝试这样做:`
let gameSceneTemp = sceneName(fileNamed: "fileName")
gameSceneTemp?.scaleMode = self.scaleMode
self.scene?.view?.presentScene(gameSceneTemp!, transition: SKTransition.doorsCloseHorizontal(withDuration: 0.0))`
我有时也会创建不在 SKScenes 文件中的对象,如果您使用 addChild,则应该不会有任何问题。
关于ios - 在 Sprite Kit 游戏中重置 SKScene,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178920/