SKShapeNode 路径不更新
SKShapeNode Path not updating
我创建了一个带有 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
}
您在 changePath
函数中引用的 SKShapeNode
看起来与上面的初始化程序中的不同。更新正确节点上的路径应该可以解决问题![=12=]
我创建了一个带有 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
}
您在 changePath
函数中引用的 SKShapeNode
看起来与上面的初始化程序中的不同。更新正确节点上的路径应该可以解决问题![=12=]