如何将SKPhysicsBody(纹理:大小:)置于SKSpriteNode锚点以外的点中心

时间:2015-11-03 19:31:45

标签: ios swift sprite-kit skspritenode skphysicsbody

SKSpriteNode定位点设置为(0.5,0)。

如何创建一个{(1}}居中于(0.5,0.5)的物理体,而不更改(0.5,0)锚点。

1 个答案:

答案 0 :(得分:2)

您可以使用+ bodyWithRectangleOfSize:center:+ bodyWithCircleOfRadius:center:,像这样:

 let sprite = SKSpriteNode(color: SKColor.whiteColor(), size: CGSize(width: 100.0, height: 100.0))
 sprite.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetMidY(frame))
 sprite.anchorPoint = CGPoint(x: 0.5, y: 0.0)

 sprite.physicsBody = SKPhysicsBody(rectangleOfSize: sprite.size, center: CGPoint(x: 0, y: sprite.size.height/2.0))
 sprite.physicsBody?.affectedByGravity = false // just added for easier debugging
 addChild(sprite)

中心参数表示拥有节点坐标系中方形/圆的原点。