我有一个像这样创建的圆形节点:
let path = CGPathCreateWithEllipseInRect(CGRect(x: 0, y: 150, width: playerWidth, height: playerHeight), nil)
self.path = path
fillColor = UIColor.whiteColor()
每当我添加一个physicsBody(circleOfRadius:CGFloat)时,它都会拒绝与节点的位置匹配,并最终靠近模拟器屏幕的左下角。
有没有办法可以改变物理机构的位置?如有必要,将发布更多代码。
答案 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)