Путь SKShapeNode не обновляется

Я создал круг с UIBezierPath, который я добавляю в SKShapeNode. Круг отображается нормально. Но когда я хочу обновить путь, ничего не происходит. Я продолжаю видеть тот же начальный путь, который я создал. Должен ли я вызывать какую-то функцию обновления для правильного обновления пути? Изменения цвета и изменения обводки работают нормально, но путь остается неизменным.

 override init(texture: SKTexture?, color: UIColor, size: CGSize) {
    shape = SKShapeNode.init()

    endAngle = CGFloat(endAngle) * CGFloat(M_PI) / 180.0
    startAngle = CGFloat(startAngle) * CGFloat(M_PI) / 180.0

    let circlePath : UIBezierPath = UIBezierPath.init(arcCenter: CGPoint(x:0,y:0), radius: 30, startAngle: startAngle, endAngle: endAngle , clockwise: true)

    super.init(texture: texture, color: color, size: size)

    shape!.path = circlePath.cgPath
    shape!.fillColor = UIColor.red
    addChild(shape!)

}


func changePath () {
    self.endAngle -= 0.1
    self.circle.path = nil

    let circlePath : UIBezierPath = UIBezierPath.init(arcCenter: CGPoint(x:0,y:0), radius: 35, startAngle: startAngle, endAngle: self.endAngle , clockwise: true)
    self.circle.path = circlePath.cgPath
}

person Ramin Afshar    schedule 26.12.2016    source источник
comment
Является ли свойство circle тем SKShapeNode, о котором вы говорите? И это то же самое, что и shape SKShpaeNode, которые вы создаете в инициализации?   -  person nathangitter    schedule 26.12.2016
comment
аааааа!! Я такой идиот. именно в этом была проблема. Я создал временный SKShapeNode и забыл изменить путь к этому временному узлу.   -  person Ramin Afshar    schedule 26.12.2016


Ответы (1)


Похоже, что SKShapeNode, на который вы ссылаетесь в своей функции changePath, отличается от инициализатора выше. Обновление пути на правильном узле должно помочь!

person nathangitter    schedule 26.12.2016