我想把一个物理体放到一条线上 .
由于某种原因,物理体最终会在左下角实现 .
如何控制物理体的位置?我的印象是,一旦我将身体贴在一个形状上,它就会自动形状 .
这是代码:
var distance = calculateDistance(wayPoints[wayPoints.count-1], point2: wayPoints[wayPoints.count-2])
var linePhysicsBody = SKPhysicsBody(rectangleOfSize: CGSize(width: distance, height: 1.0))
linePhysicsBody.categoryBitMask = PhysicsCategory.Line
linePhysicsBody.contactTestBitMask = PhysicsCategory.Ball
linePhysicsBody.collisionBitMask = PhysicsCategory.Ball
linePhysicsBody.dynamic = false
linePhysicsBody.usesPreciseCollisionDetection = true
lineNode.removeFromParent()
lineNode = SKShapeNode()
lineNode.physicsBody = linePhysicsBody
lineNode.name = "drawingLine"
lineNode.path = pathToDraw
lineNode.lineWidth = 5.0
lineNode.strokeColor = UIColor.redColor()
lineNode.glowWidth = 1.0
self.addChild(lineNode)
1 回答
您尚未定位线节点 . 这意味着每个默认值都不在点(0,0)上 . 正如LearnCocos2D在他的评论中提到的那样 . 您正在绘制相对于线节点位置的路径 . 这不会影响你的物理身体 . 这仍然位于(0,0)