如何在SpriteKit中移动弧中心?

时间:2018-11-04 13:12:33

标签: ios swift sprite-kit

我有一个圆,该圆周围有4个圆弧。 目前,我正在绘制这样的弧形:

fileprivate func addArc(from startAngle: CGFloat, to endAngle: CGFloat, of color: SKColor, with text: String) {
    let arc = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: 100, startAngle: startAngle, endAngle: endAngle, clockwise: false)
    arc.flatness = 100

    let node = SKShapeNode()
    node.lineWidth = 36
    node.strokeColor = color
    node.path = arc.cgPath

    addChild(node)
}

,当我稍后尝试在弧中添加新的LabelNode时,

let labelNode = SKLabelNode(text: text)
labelNode.horizontalAlignmentMode = .center
labelNode.verticalAlignmentMode = .center

node.addChild(labelNode)

将NodeLabel添加到圆的中间,但不添加到圆弧的中间。 我发现错误出在这一行:

let arc = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: 100, startAngle: startAngle, endAngle: endAngle, clockwise: false)

我要设置arcCenter的位置。 所以问题是,如何移动这些弧的中心,以便将labelNodes添加到弧中而不添加到圆中?

0 个答案:

没有答案