更新路径时SKShapeNode消失

时间:2014-08-14 13:15:26

标签: 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.x, p1.y)
    line = SKShapeNode(path: path)
    line.strokeColor = UIColor.purpleColor()
    addChild(line)

这很好用。它在屏幕上画出一条紫色线条。 我试图在更新函数中更新该行的路径,该函数每秒调用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路径的正确程序。我似乎无法找到有关如何操作的任何信息。我使用fingerLocationtouchesMoved方法获取touch.locationInNode(self)

0 个答案:

没有答案