Sprite kit SKShapeNode路径未更新

Sprite kit SKShapeNode路径未更新,sprite-kit,uibezierpath,skshapenode,Sprite Kit,Uibezierpath,Skshapenode,我已经创建了一个带有UIBezierPath的圆,我将它添加到了一个SKShapeNode中。 圆圈显示良好。但是当我想要更新路径时,什么都不会发生。我一直看到我创建的初始路径。我必须调用某种更新函数才能正确更新路径吗?颜色更改和笔划更改工作正常,但路径保持不变 override init(纹理:SKTexture?,颜色:UIColor,大小:CGSize){ shape=SKShapeNode.init() 端角=CGFloat(端角)*CGFloat(μPI)/180.0 startAng

我已经创建了一个带有UIBezierPath的圆,我将它添加到了一个SKShapeNode中。 圆圈显示良好。但是当我想要更新路径时,什么都不会发生。我一直看到我创建的初始路径。我必须调用某种更新函数才能正确更新路径吗?颜色更改和笔划更改工作正常,但路径保持不变

override init(纹理:SKTexture?,颜色:UIColor,大小:CGSize){
shape=SKShapeNode.init()
端角=CGFloat(端角)*CGFloat(μPI)/180.0
startAngle=CGFloat(startAngle)*CGFloat(M_PI)/180.0
设circlePath:UIBezierPath=UIBezierPath.init(弧心:CGPoint(x:0,y:0),半径:30,星形缠结:星形缠结,端角:端角,顺时针:true)
super.init(纹理:纹理,颜色:颜色,大小:大小)
shape!.path=circlePath.cgPath
shape!.fillColor=UIColor.red
addChild(形状!)
}
func changePath(){
自转角-=0.1
self.circle.path=nil
设circlePath:UIBezierPath=UIBezierPath.init(弧心:CGPoint(x:0,y:0),半径:35,星形缠结:星形缠结,端角:self.endAngle,顺时针:true)
self.circle.path=circlePath.cgPath
}

您在
changePath
函数中引用的
SKShapeNode
看起来与上述初始值设定项中的不同。更新正确节点上的路径应该可以做到这一点

您在
changePath
函数中引用的
SKShapeNode
似乎与上述初始值设定项中的不同。更新正确节点上的路径应该可以做到这一点

circle
属性是否就是您所指的
SKShapeNode
?这与您在init中创建的
形状
SKShpaeNode
相同吗?aaaaargh!!我真是个白痴。这正是问题所在。我创建了一个临时SKShapeNode,但忘了更改该临时节点上的路径。您所指的
SKShapeNode
属性是
圆吗?这与您在init中创建的
形状
SKShpaeNode
相同吗?aaaaargh!!我真是个白痴。这正是问题所在。我创建了一个临时SKShapeNode,但忘记了更改该临时节点上的路径。