Josh Schlabach
Josh Schlabach

Reputation: 411

Border around screen and not frame?

I'm currently making a game in Swift/SpriteKit and I'm having a problem. Whenever I make the border for my game, the border is always around the iPhone/iPad FRAME and not the screen. So when my ball bounces it goes off of the screen and bounces off the "iPhone FRAME" and not the "scene/frame."

Can someone help me make it so my border is around the SCENE and not the FRAME?

Here is my code:

let borderBody = SKPhysicsBody(edgeLoopFromRect: self.frame)

borderBody.friction = 0

self.physicsBody = borderBody

Upvotes: 2

Views: 1727

Answers (1)

Whirlwind
Whirlwind

Reputation: 13665

I was meant to say (in comments) that you should set the scene's size to match the view's size, like this: In the GameViewController.swift

override func viewDidLoad() {
        super.viewDidLoad()

        if let scene = GameScene(fileNamed:"GameScene") {
            // Configure the view.
            let skView = self.view as! SKView
            skView.showsFPS = true
            skView.showsNodeCount = true

            /* Sprite Kit applies additional optimizations to improve rendering performance */
            skView.ignoresSiblingOrder = true

            /* Set the scale mode to scale to fit the window */
            scene.scaleMode = .AspectFill

            scene.size = skView.bounds.size

            skView.presentScene(scene)
        }
    }

Note the scene.size = skView.bounds.size which sets the scene's size to a size of the view.

Upvotes: 1

Related Questions