ios - 在 Sprite Kit 游戏中重置 SKScene

标签 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 个节点使场景空白。

最佳答案

尝试这样做:`

  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/

相关文章:

ios - iOS中能量影响的安全值

swift - Action 完成后做一些事情

ios - 不知道如何将触摸作为单个实体处理

swift - 如果对象将移出 View ,为什么物理关节会停止工作?

IOS UIPickerView - 动态添加到静态表

ios - 要关闭键盘,使用 `resignFirstResponder` 和 `endEditing` 之间有什么区别吗?

ios - 如何仅针对 onCompleted() 事件使用没有类型的 Rx Swift PublishRelay?

ios - datepicker 格式现在在 ios swift 4.1 中完美显示月份?

ios - Swift - scheduledTimer 秒表小时部分不工作

ios - 核心数据 - 通过 iCloud 保存和共享图像