Как создать играбельный прямоугольник в SpriteKit на iPhone X - PullRequest
0 голосов
/ 21 июня 2019

Я новичок в 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)

    }
}

Когда я запускаю этот код, зеленые рамки прямоугольника соответствуют ширине экрана (в альбомной ориентации), поэтому я могу их видеть, но верхняя и нижняя границы находятся за пределами экрана.

Моя цель состоит в том, чтобы игровой прямоугольник имел такую ​​же высоту, как экран телефона, и его ширина должна быть равна ширине экрана - вставки в левой безопасной области (чтобы исключить выемку из воспроизводимой области).

Спасибо.

...