gpt4 book ai didi

ios - 长 CGPath 不渲染

转载 作者:行者123 更新时间:2023-11-30 13:59:27 25 4
gpt4 key购买 nike

我使用 spritekit 引擎并面临以下问题。我需要在 map 上绘制一条路线,为此我创建了一个点数组,并使用 CGPathAddLines 方法为该数组创建一条路径。一切都工作正常,直到我尝试在 map 上两个遥远的点之间建立一条路线。它的路径未渲染。

我开始处理这个问题。我使用 CGPathGetBoundingBox 获取路径的边界框,并且我注意到每次其矩形宽度超过 2005 px 时都不会绘制路线。我知道这听起来很奇怪,但就我而言确实如此。下面是用于创建和显示路径的代码部分:

var pathToDraw = CGPathCreateMutable()    
let pathPoints = generatePathPoints()
CGPathAddLines(pathToDraw, nil, pathPoints, pathPoints.count)

var shapeNode = SKShapeNode()
shapeNode.path = pathToDraw
shapeNode.lineWidth = 10
shapeNode.strokeColor = UIColor.blueColor()

var effectNode = SKEffectNode()
effectNode.addChild(shapeNode)
mapNode.addChild(effectNode)

generatePathPoints - 函数返回[CGPoint]

mapNode - SKSpriteNode 类型的对象

也许我做错了什么,或者这是我不知道的 CGPath 的限制?

最佳答案

如果它适用于短路径,然后停止适用于长路径,我会假设(正如 @matt 所做的那样)这是因为 SKShapeNode 的限制。

您是否尝试过创建多个具有较短路径的 SKShapeNode 并将它们全部放入另一个 SKNode 中?使用此解决方案,您可以使用父 SKNode(充满较小的 SKShapeNode),就好像它是较大的 SKShapeNode,但(我希望)所有较短的路径都能正确渲染...

关于ios - 长 CGPath 不渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172772/

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