Я нашел этот небольшой и элегантный способ переключения между двумя (или, возможно, более) сценами в SpriteKit с помощью Swift:
class GameScene: SKScene {
override func didMove(to view: SKView) {
self.backgroundColor = SKColor.blue
//initialize the scene
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){
let newScene = PrefScene()
newScene.scaleMode = .aspectFill
self.view?.presentScene(newScene, transition: SKTransition.crossFade(withDuration: 3))
}
}
Текущая сцена создает новую сцену и отправляет ее в свой вид.Однако, делая это таким образом, вы создаете новый объект сцены каждый раз, когда происходит переход.Не приведет ли это к утечке памяти в долгосрочной перспективе?