В настоящее время я использую файл SKS для настройки местоположений спрайтов через пустые узлы или в некоторых случаях я фактически перетаскиваю спрайт в редактор сцены. После некоторых проблем с загрузкой мне посоветовали предварительно загрузить все текстуры с помощью атласа текстуры. Одна проблема, с которой я столкнулся, прежде чем перейти к этой схеме, заключалась в том, что мой метод didMoveToView
использовал все больше и больше памяти каждый раз, когда сцена загружалась и перезагружалась. У меня есть 3 сцены в моей игре SpriteKit: главное меню, уровень выбора и уровень сцены. Как должны управляться мои сцены? Должен ли я создавать экземпляр каждого из них и хранить их по всему миру, чтобы избежать слишком большого объема памяти? В настоящее время каждая сцена способна инициализировать и вызывать presentScene
. С моей сценой уровня есть хорошая настройка, которая должна быть выполнена, и при загрузке с сцены выбора уровня я не уверен, что это нужно воссоздавать снова и снова. Надеюсь, это ясно, что я спрашиваю. Заранее спасибо.Управление сценами SpriteKit Эффективно
0
A
ответ
0
SK выполняет все управление памятью и кэширование за кулисами. Вы действительно не контролируете ни одно из них. Если ваш код не имеет утечки памяти или где-нибудь где-то сохранится, ваше использование памяти приложения в какой-то момент достигнет вершины.
Если вы хотите, вы можете вручную «нуль» всех объектов сцены и [self removeAllChildren];
в методе -(void)willMoveFromView:(SKView *)view
.
Смежные вопросы
- 1. SpriteKit: Передача данных между сценами
- 2. Передача данных между сценами (SpriteKit)
- 3. Почему сбой SpriteKit при переходе между сценами
- 4. SpriteKit переход между сценами без перезагрузки игры
- 5. Spritekit: Эффективно создавайте много SpriteNodes
- 6. Как освободить память при переходе между сценами SpriteKit
- 7. Swift: Как отслеживать и передавать оценки между сценами в SpriteKit
- 8. Показать Admob Межстраничные объявления между сценами в Swift SpriteKit
- 9. Swift Spritekit NSUserDefaults между 2 быстрыми сценами/файлами
- 10. SpriteKit SKView перестает переходить между сценами в iOS 9
- 11. SpriteKit crossFadeWithDuration: между сценами не работает, как ожидалось
- 12. Как нарисовать линию в SpriteKit эффективно
- 13. Управление контуром, что более эффективно
- 14. Управление потоками эффективно в C#
- 15. Управление объектами cocos2d-x с несколькими сценами и уровнями
- 16. Как перейти между сценами в sceneKit SCNView
- 17. Управление эффективно страниц данных в памяти
- 18. Управление fps в Adobe Flash эффективно
- 19. Управление Android GPS эффективно для батареи
- 20. Передача данных между сценами
- 21. Быстрые переменные между сценами?
- 22. Перемещение между сценами
- 23. Поделитесь GameObjects между сценами
- 24. run loop in update() spritekit, редко, эффективно: способ?
- 25. Swift SpriteKit iAd
- 26. Переключение между двумя сценами iOS
- 27. Параметры передачи параметров между сценами
- 28. Невозможно очистить кеш между сценами?
- 29. Использование TrackballControls с двумя сценами
- 30. Xcode, как переключаться между сценами
Спасибо за быстрый ответ. Я понимаю, что память управляется дугой и т. Д., Но это не мой вопрос. Мой вопрос больше связан с управлением сценой, так что я не подвергаюсь утечкам памяти или другим неэффективности. – 02fentym
@ 02fentym - Не видя весь ваш код, вы не можете сказать, есть ли у вас утечка памяти. Это не столько проблема SKScene, сколько правильная кодировка. Если вы считаете, что где-то есть утечка памяти, запустите Инструменты и найдите утечку. – sangony