#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()
}
}