Я создаю игру. Когда игра закончена, я показываю кнопку «Играть снова», которая, в идеале, должна просто перезагрузить сцену.Как я могу перезапустить SKScene?
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:
import SpriteKit
import CoreMotion
class Level1: SKScene {
override func didMoveToView(view: SKView) {
//creation of nodes etc
}
}
Ваш инициализатор уровня 1 возвращает тот же объект? –
@InderKumarRathore Да, Level1 - это класс SKScene, который представлен и что я хотел бы перезагрузить – MeV
Можете ли вы опубликовать метод 'Level1()'? –