Полное закрытие SKScene

Итак, у меня есть приложение, которое начинается с контроллера представления меню, который предлагает пользователю нажать одну из 4-х кнопок, который затем загружает контроллер представления, который затем представляет сцену, и пользователь играет в игру в зависимости от того, какая кнопка была нажата.

Затем я перенаправляю пользователя на другой контроллер просмотра, который представляет другую сцену, как только выполняется условие (они проигрывают игру). Единственная проблема в том, что второй контроллер просмотра (и я предполагаю, что это сцена) все еще работает. Я знаю это, потому что у меня есть оператор печати внутри его метода обновления функции переопределения, чтобы увидеть, существует ли он.

Кроме того, у меня есть звук, воспроизводимый в моей старой игре, и он все еще воспроизводится. Я бы ТОЧНО не возражал против этого, так как позже я собираюсь просто передать аудиоданные (заглушить все) между всеми 3 контроллерами просмотра и их представленными сценами.

Единственная проблема с тем, что происходит прямо сейчас, заключается в том, что когда я запускаю приложение, так как старый viewviewcontroller и его сцена, кажется, все еще работают внизу, он продолжает вызывать переход, который вызывает странный вид, когда когда выполняется условие, переход зацикливается бесконечно к новому контроллеру представления, затем обратно к началу перехода, а затем снова к новому контроллеру представления.

Я пробовал этот фрагмент кода:

let theVC = self.viewController?.storyboard?.instantiateViewController(withIdentifier: "TrumpVC") as! TrumpViewController

self.viewController?.navigationController?.pushViewController(theVC, animated: true)

self.viewController?.dismiss(animated: true, completion: {});

Но, похоже, это совсем не помогает :( По сути, я перехожу к новому контроллеру представления и закрываю текущий (это все в моей сцене)

Спасибо


person insta catering    schedule 05.02.2017    source источник


Ответы (1)


Решение:

let theVC = self.viewController?.storyboard?.instantiateViewController(withIdentifier: "TrumpVC") as! TrumpViewController

self.viewController?.navigationController?.pushViewController(theVC, animated: true)
self.viewController?.removeFromParentViewController()
self.viewController?.dismiss(animated: true, completion: nil)
self.view?.presentScene(nil)
person insta catering    schedule 05.02.2017