首页 > 解决方案 > 我正在使用 SpriteKit 制作游戏,但我的视图只占据了屏幕上看似安全的区域。如何扩展此视图?

问题描述

我正在使用 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
        }
    }
}

标签: swiftxcodesprite-kituiscreensafearea

解决方案


如果您使用 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()
    }
}

推荐阅读