Я использую SpriteKit для создания игры, но мой просмотр занимает только то, что кажется безопасной областью экрана. Как мне расширить это представление?

#swift #xcode #sprite-kit #uiscreen #safearea

#swift #xcode #sprite-kit #пользовательский экран #безопасная область

Вопрос:

Я создаю игру с помощью SpriteKit, и я хочу, чтобы она использовала весь экран. Однако прямо сейчас он использует только то, что выглядит как безопасная область. Как я могу сделать так, чтобы вид занимал весь экран? Ниже приведен код GameViewController, который я использую:

 class GameViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        if let view = self.view as! SKView? {
            // Load the SKScene from 'GameScene.sks'
            let scene = MenuScene(size: UIScreen.main.bounds.size)
            // Set the scale mode to scale to fit the window
            scene.scaleMode = .fill
            // Present the scene
            view.presentScene(scene)
            view.ignoresSiblingOrder = true
            view.showsFPS = false
            view.showsNodeCount = false
        }
    }
}
 

Ответ №1:

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

В любом случае, я новичок, но это то, что я сделал, и это сработало для меня. Однако, возможно, есть способ получше.

Вот пример того, о чем я говорю:

 import SwiftUI
import SpriteKit

struct ContentView: View {
    var body: some View {
        SpriteView(scene: MenuScene(size: UIScreen.main.bounds.size), transition: SKTransition.reveal(with: .down, duration: 1.0))
            .ignoresSafeArea()
    }
}