gpt4 book ai didi

ios - 画一条改变方向的线

转载 作者:可可西里 更新时间:2023-11-01 02:20:09 24 4
gpt4 key购买 nike

我目前正在尝试制作一个由直线组成的应用程序,但当点击屏幕时,它会以 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)
}
}

然后我像这样填充 wayPoints 数组(这段代码每秒被调用几次):

        if (wayPoints.isEmpty) {
wayPoints.append(CGPointMake(0, CGRectGetMinY(self.view!.frame)))
} else {
if (wayPoints.count >= 30) {
while (wayPoints.count >= 30) {
wayPoints.removeAtIndex(0)
}
}
if (currentPosition == Position.Right) {
wayPoints.append(CGPointMake(wayPoints.last!.x + 1, wayPoints.last!.y + 1))
} else if (currentPosition == Position.Left) {
wayPoints.append(CGPointMake(wayPoints.last!.x - 1, wayPoints.last!.y + 1))
} else {
wayPoints.append(CGPointMake(0, wayPoints.last!.y + 1))
}
}

(当点击发生时 currentPosition 改变)。

虽然我认为这不重要,但这就是我创建 SKShapeNode 行的方式:

let shapeNode = SKShapeNode()
shapeNode.path = path
shapeNode.name = "line"
shapeNode.strokeColor = UIColor.blackColor()

这有点管用,但由于某种原因,路径中似乎存在“泄漏”(不是内存)。这就是上面代码的样子: http://gyazo.com/92dd84de15e125ea3d598cbfa9a86b13

如您所见,当线条转弯时,它几乎形成了一个三角形。它应该只是一条线,两侧没有多余的“质量”。

最佳答案

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

shapeNode.fillColor = SKColor.clearColor()

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

关于ios - 画一条改变方向的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31224987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com