У меня есть игра SpriteKit, в которой я использую scaleMode = .aspetFill для покрытия экранов iPhone и iPad.Когда игра загружает первую сцену, она правильно применяет мой .aspectFill, но когда я перехожу на вторую и третью сцены, аспект возвращается к оригиналу (это означает, что .aspectFill больше не корректируется), где бы я ни пыталсяпоместите оператор снова в код.
Это мой код в GameViewController, где я вызываю MainMenuScene:
let scene = MainMenuScene(size: CGSize(width: 1024, height: 768))
scene.scaleMode = .aspectFill
skView.presentScene(scene)
Это код, в который я загружаю номер сцены.2:
self.view?.presentScene(GameScene(size: size))
и он, очевидно, сохраняет .aspectFill (он изменяет размер моей сцены)
Но когда я пытаюсь загрузить третью сцену (и так далее с 4, 5,6 и т. Д.) С этим кодом:
func goToSceneFade(_ scene: SKScene) {
backgroundMusic?.run(SKAction.stop())
backgroundMusicPlayerReading?.stop()
let sceneTransition = SKTransition.fade(with: UIColor.darkGray, duration: 1)
self.view?.presentScene(scene, transition: sceneTransition)
}
Сцена загружается без коррекции аспекта.Любое предложение?Спасибо!