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. Я не могу найти никакой информации о том, как это сделать. Я получаю fingerLocation из метода touchesMoved, используя touch.locationInNode(self).


person Johnston    schedule 14.08.2014    source источник
comment
Вы используете update:, который будет вызываться перед каждым обновлением кадра. Имейте в виду, что он не всегда будет вызываться 60 раз в секунду.   -  person Andrew    schedule 14.08.2014
comment
@SantaClaus Полезно знать. Разве это не должно по-прежнему работать? Это будет обновлено в этот момент правильно?   -  person Johnston    schedule 14.08.2014
comment
Возможно, это связано с этим stackoverflow.com/questions/21294642/   -  person 0x141E    schedule 14.08.2014