Edición rápida de SpriteKit edgeLoopFromRect

El siguiente código reconoce elbordes inferiores y superiores de la escena y la pelota rebota como se esperaba. sin embargo, elbordes izquierdo y derecho de la escena se violan todo el tiempo. La pelota se sale de la pantalla y finalmente regresa si se aplica suficiente fuerza. Es como si los bordes de la escena estuvieran más allá de los bordes de la ventana del simulador de iPhone.

import SpriteKit

class GameScene: SKScene {
    override func didMoveToView(view: SKView){
        self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
        backgroundColor = UIColor.cyanColor()
        var ball = SKSpriteNode(imageNamed: "ball")
        ball.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
        self.addChild(ball)
        ball.physicsBody = SKPhysicsBody(circleOfRadius: ball.frame.size.height/2)
        let push = CGVectorMake(10, 10)
        ball.physicsBody.applyImpulse(push)

    }
}

Creo que tiene algo que ver con el archivo .sks ya que las dimensiones se establecen allí y si cambio esas dimensiones se refleja en el juego. ¿Alguien sabe cómo hacerlo para que esta línea de código tenga prioridad sobre las dimensiones del archivo .sks? De esta forma, será dinámico y podría funcionar en diferentes dispositivos.

self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)

Encontré la misma pregunta aquí pero nunca me respondieron:Problema de reconocimiento de borde físico rápido

Además, soy nuevo en el desarrollo de aplicaciones de iOS y rápido, así que perdóname si la respuesta es obvia y la perdí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta