В стартовом контроллере запускается сцена с анимацией из спрайтов.
Загрузка сцены:
func setupSK() {
if let view = skView {
let scene = StartScene(size: self.view.bounds.size)
scene.backgroundColor = #colorLiteral(red: 0.2588235438, green: 0.7568627596, blue: 0.9686274529, alpha: 1)
scene.scaleMode = .aspectFill
scene.tapOnCloudInScene = { [self] in
}
view.presentScene(scene)
view.ignoresSiblingOrder = true
view.showsFPS = false
view.showsNodeCount = false
}
}
Создание и запуск анимации
func create(nameSprite: String, isRepeated: Bool) {
textuteAtlas = SKTextureAtlas(named: nameSprite)
for i in 1...textuteAtlas.textureNames.count {
if i < 10 {
let name = nameSprite + "000\(i).png"
textureArray.append(SKTexture(imageNamed: name))
} else if i >= 10 && i < 100 {
let name = nameSprite + "00\(i).png"
textureArray.append(SKTexture(imageNamed: name))
} else if i >= 100 {
let name = nameSprite + "0\(i).png"
textureArray.append(SKTexture(imageNamed: name))
}
}
self.size = CGSize(width: 350, height: 426)
self.setScale(0.88)
let animationWithTextures = SKAction.animate(with: textureArray, timePerFrame: perTime)
var repeatCount = SKAction()
if !isRepeated {
repeatCount = SKAction.repeatForever(animationWithTextures)
} else {
repeatCount = SKAction.repeat(animationWithTextures, count: 1)
}
self.run(repeatCount)
}
Далее пользователю предлагается перейти на карту по которой бегает персонаж тоже анимации из спрайтов.
Если все работает как описано, то загрузка процессора при работе карты достигает 80% а fps падает до 12
При этом если на главный сцену не добавлять, то при работе карты CPU: - 15% fps 55-60
Переходы на базе NavigationController через segue - show
Вопрос собственно в том можно ли при переходе на карту условно “забыть” про стартовый контроллер и все его содержимое?
NavigationController в принципе не обязателен.