SKPhysicsBody没有与SKShapeNode排队

时间:2015-12-03 18:26:58

标签: swift sprite-kit skphysicsbody skshapenode

我有一个像这样创建的圆形节点:

 let path = CGPathCreateWithEllipseInRect(CGRect(x: 0, y: 150, width: playerWidth, height: playerHeight), nil)
    self.path = path


    fillColor = UIColor.whiteColor()

每当我添加一个physicsBody(circleOfRadius:CGFloat)时,它都会拒绝与节点的位置匹配,并最终靠近模拟器屏幕的左下角。

有没有办法可以改变物理机构的位置?如有必要,将发布更多代码。

1 个答案:

答案 0 :(得分:1)

如果要移动物理体,请不要设置形状的体。创建一个附加到形状的SKNode,然后设置SKNode的physicsBody。要移动主体,请使用您在形状上创建的SKNode的位置。

 let shape = SKShapeNode(initialize here)
 let bodyNode = SKNode()
 shape.addChild(bodyNode)
 bodyNode.physicsBody = SKPhysicsBody(initialize here)

 // To move the body;
 bodyNode.position = CGPoint(point you wish)