#ios #swift #sprite-kit #swift3
#iOS #swift #sprite-kit #swift3
Вопрос:
Я пишу игру, используя Swift3 и Xcode8 для платформы iOS.
Я добавил кнопку в GameScene, которая переходит к homePageViewController, который не включает SpriteKit framework при нажатии кнопки. Затем я возвращаюсь к GameScene из homePageViewController и так далее.
Пока все в порядке, но когда я повторяю этот процесс несколько раз, GameScene начинает отставать, потому что, когда я возвращаюсь к homePageViewController, GameScene и его функция обновления бесконечного цикла продолжают работать, даже если пользователь был на домашней странице.
Я использую идентификатор перехода для кнопки «Назад», и мне любопытно, есть ли какой-нибудь способ остановить и сбросить каждое действие в GameScene при нажатии кнопки «Назад»?
Или просто другими словами, когда пользователь перешел на другую страницу из GameScene, как я могу остановить GameScene? Он продолжает работать в фоновом режиме.
Примечание: я не прошу removeAllActions, removeAllChildren и removeFromParent функции. Я спрашиваю, как полностью остановить функцию обновления.
Комментарии:
1. если представление отсутствует в вашей иерархии, skscene не будет запущен. Мне кажется, что вы создаете несколько контроллеров просмотра, когда продолжаете двигаться вперед и назад
2. @Knight0fDragon У меня есть два контроллера просмотра, один из которых — GameViewController, предназначенный для GameScene, а второй — MainPageViewController, предназначенный для другого представления, которое я создал для домашней страницы. Кнопка, о которой я упоминал в вопросе, находится в GameViewController и ссылается на MainPageViewController. Я не понял, что вы подразумеваете под иерархией, но я буду рад, если вы сможете помочь мне с проблемой 🙂
3. вы можете думать, что у вас есть 2 контроллера просмотра, но вы можете быть безумным ученым, создающим клон за клоном
4. @Knight0fDragon можете ли вы сказать мне, как это исправить?
5. @Knight0fDragon как вы сказали, я хожу туда-сюда, к сожалению, ваше сообщение мне не помогает. Если вы знаете решение, пожалуйста, не могли бы вы рассказать об этом?