Swift SpriteKit edgeLoopFromRect Issue

Der folgende Code erkennt das Unterseite und Oberkante der Szene und der Ball springt wie erwartet ab. Das Linke und rechte Kanten der Szene sind die ganze Zeit verletzt. Der Ball verlässt den Bildschirm und kehrt schließlich zurück, wenn genügend Kraft ausgeübt wird. Es ist, als ob die Ränder der Szene jenseits der Ränder des iPhone-Simulatorfensters liegen.

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)

    }
}

Ich denke, es hat etwas mit der .sks-Datei zu tun, da dort Dimensionen festgelegt sind, und wenn ich diese Dimensionen ändere, wirkt es sich auf das Spiel aus. Weiß jemand, wie man es so macht, dass diese Codezeile Vorrang vor den .sks-Dateidimensionen hat? Auf diese Weise wird es dynamisch und kann auf verschiedenen Geräten verwendet werden.

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

Ich fand die gleiche Frage hier, wurde aber nie beantwortet:Swift Physicsbody Edge Erkennungsproblem

Auch ich bin neu bei iOS App-Entwicklern und schnell. Verzeih mir, wenn die Antwort offensichtlich ist und ich sie verpasst habe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage