【问题标题】:How can i restart a SKScene?如何重新启动 SKScene?
【发布时间】:2015-04-10 11:02:33
【问题描述】:

我正在创建一个游戏。游戏结束后,我会显示一个“再次播放”按钮,理想情况下,它应该只是重新加载场景。

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

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

尝试添加一个已经有父节点的 SKNode:

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

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

谢谢


根据要求,这是 Level1 类:

import SpriteKit
import CoreMotion

class Level1: SKScene {

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

【问题讨论】:

  • 您的 Level1 初始化程序是否返回相同的对象?
  • @InderKumarRathore 是的,Level1 是提供的 SKScene 类,我想重新加载
  • 可以发Level1()方法吗?
  • @InderKumarRathore 我已经用 Level1 的详细信息更新了我的问题。但我不认为它可以帮助你
  • 是的,你是对的,没有什么可看的:D

标签: ios swift sprite-kit skscene


【解决方案1】:

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

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

【讨论】:

  • 谢谢!删除所有孩子解决了我的问题! :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多