首页 文章

swift spritekit物理体在一个奇怪的地方实现

提问于
浏览
0

我想把一个物理体放到一条线上 .

由于某种原因,物理体最终会在左下角实现 .

如何控制物理体的位置?我的印象是,一旦我将身体贴在一个形状上,它就会自动形状 .

这是代码:

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)

physics body

1 回答

  • 0

    您尚未定位线节点 . 这意味着每个默认值都不在点(0,0)上 . 正如LearnCocos2D在他的评论中提到的那样 . 您正在绘制相对于线节点位置的路径 . 这不会影响你的物理身体 . 这仍然位于(0,0)

相关问题