Ios 画一条改变方向的线

Ios 画一条改变方向的线,ios,swift,sprite-kit,skshapenode,Ios,Swift,Sprite Kit,Skshapenode,我目前正在尝试制作一个由直线组成的应用程序,但是当屏幕被点击时,它会以45度角(向左或向右)变化 我正在为此创建路径,如下所示: var path = CGPathCreateMutable() for var i = 0; i < wayPoints.count; i++ { let p = wayPoints[i] if i == 0 { CGPathMoveToPoint(path, nil, p.x,

我目前正在尝试制作一个由直线组成的应用程序,但是当屏幕被点击时,它会以45度角(向左或向右)变化

我正在为此创建路径,如下所示:

        var path = CGPathCreateMutable()
    for var i = 0; i < wayPoints.count; i++ {
        let p = wayPoints[i]
        if i == 0 {
            CGPathMoveToPoint(path, nil, p.x, p.y)
        } else {
            CGPathAddLineToPoint(path, nil, p.x, p.y)
        }
    }
(当出现抽头时,当前位置发生变化)

虽然我不认为这有什么关系,但这就是我创建SKShapeNode系列的方式:

let shapeNode = SKShapeNode()
shapeNode.path = path
shapeNode.name = "line"
shapeNode.strokeColor = UIColor.blackColor()
这在某种程度上是可行的,但出于某种原因,似乎路径中存在“泄漏”(而不是内存)。这是上面代码的外观:


如你所见,当直线转弯时,它几乎形成一个三角形。它应该是一条边上没有多余“质量”的直线。

您看到的三角形是用颜色填充的直线路径。在这种情况下,黑色。要解决此问题,请通过将形状节点的
fillColor
属性设置为不可见颜色

shapeNode.fillColor = SKColor.clearColor()

我在这里使用了
SKColor
而不是
UIColor
,因为前者可以在Mac OS X和iOS应用程序中使用,无需修改。

添加shapeNode.fillColor=SKColor.clearColor()修复了它!真是太感谢你了,这件事我已经坚持了好几天了!如果你愿意,你可以把它作为一个答案发布,我会接受它,这样你就可以得到一个额外的代表。尽管如此,再次感谢你!
shapeNode.fillColor = SKColor.clearColor()