Я новичок в Swift и SpriteKit. Я пытаюсь разработать простую 2D-игру для iPhone X, поэтому я хочу нарисовать игровую область, где я могу разместить игровые спрайты. Проблема в том, что когда я рисую прямоугольник, он соответствует ширине экрана, но не высоте экрана.
Размер GameScene составляет 2048x1536, с точкой привязки в (0,5, 0,5).
Ориентация экрана по умолчанию - альбомная.
Вот что я сделал на данный момент:
GameViewController.swift
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = SKScene(fileNamed: "GameScene") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
}
GameScene.swift
class GameScene: SKScene {
override func didMove(to view: SKView) {
let rectangle = SKShapeNode(rect: self.frame)
rectangle.strokeColor = .green
rectangle.lineWidth = 20
rectangle.zPosition = 1
addChild(rectangle)
}
}
Когда я запускаю этот код, зеленые рамки прямоугольника соответствуют ширине экрана (в альбомной ориентации), поэтому я могу их видеть, но верхняя и нижняя границы находятся за пределами экрана.
Моя цель состоит в том, чтобы игровой прямоугольник имел такую же высоту, как экран телефона, и его ширина должна быть равна ширине экрана - вставки в левой безопасной области (чтобы исключить выемку из воспроизводимой области).
Спасибо.