Swift 更新路径时,SKShapeNode将消失

Swift 更新路径时,SKShapeNode将消失,swift,sprite-kit,cgpath,skshapenode,Swift,Sprite Kit,Cgpath,Skshapenode,我最初用SKShapeNode画了一条线 var path = CGPathCreateMutable() p0 = CGPointMake(-(self.frame.size.width/2), 100.0) CGPathMoveToPoint(path, nil, p0.x, p0.y) p1 = CGPointMake(self.frame.size.width/2, 100.0) CGPathAddLineToPoint(path, nil, p1

我最初用
SKShapeNode
画了一条线

    var path = CGPathCreateMutable()
    p0 = CGPointMake(-(self.frame.size.width/2), 100.0)
    CGPathMoveToPoint(path, nil, p0.x, p0.y)
    p1 = CGPointMake(self.frame.size.width/2, 100.0)
    CGPathAddLineToPoint(path, nil, p1.x, p1.y)
    line = SKShapeNode(path: path)
    line.strokeColor = UIColor.purpleColor()
    addChild(line)
这个很好用。它在屏幕上画了一条紫色的线。 我试图在一个每秒调用get 60次的更新函数中更新该行的路径。这将根据用户的手指弯曲线条

override func update(currentTime: CFTimeInterval) {
    var path = CGPathCreateMutable()
    CGPathMoveToPoint(path, nil, p0.x, p0.y)
    CGPathAddQuadCurveToPoint(path, nil, fingerLocation.x, fingerLocation.y, p1.x, p1.y)
    line.path = path
}

更新函数运行后,该行立即消失。我不知道更新
SKShapeNode
路径的过程是否正确。我似乎找不到任何关于如何这样做的信息。我使用
touch.locationInNode(self)
touchsmoved
方法获得
fingerLocation
,您正在使用的
update:
将在每次帧更新之前调用它。请记住,它不会总是每秒被调用60次。@SantaClaus很高兴知道。它不应该仍然有效吗?它将在该点更新,对吗?可能与此相关