Here’s a small extensions that will help you debug SKPhysicsBody Objects using Swift:
extension SKNode {
func attachDebugRectWithSize(s:CGSize) {
let bodyPath = CGPathCreateWithRect(CGRectMake(-s.width/2, -s.height/2, s.width, s.height), nil)
self.attachDebugFrameFromPath(bodyPath)
CGPathRelease(bodyPath)
}
func attachDebugFrameFromPath(path:CGPathRef) {
var shape = SKShapeNode()
shape.path = path
shape.strokeColor = SKColor(red: 1.0, green: 0, blue: 0, alpha: 0.5)
shape.lineWidth = 2.0
shape.zPosition = 200
self.addChild(shape)
}
}
You can use it like this:
//.. let groundRect = CGRectMake(0, groundTexture.size().height, self.frame.size.width*2, groundTexture.size().height) var ground = SKNode() ground.position = groundRect.origin ground.physicsBody = SKPhysicsBody(rectangleOfSize: groundRect.size) ground.physicsBody.dynamic = false ground.attachDebugRectWithSize(groundRect.size)