Swift物理边缘识别问题

下面的代码可以识别场景的底部和顶部边缘 ,并且球像预期的那样反弹。 但是,场景的左右边缘始终被破坏。 球离开屏幕,然后如果施加足够的力量,最终返回。 就好像场景的边缘超出了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) } } 

你可以尝试改变self.physicsBody的大小,例如;

 self.physicsBody = SKPhysicsBody(edgeLoopFromRect: CGRectMake(self.frame.origin.x, self.frame.origin.y, self.size.width, self.size.height)) 

并根据需要更改参数self.size.width