ios - 带圆角的 Spritekit 线

标签 ios objective-c xcode sprite-kit

我使用 SKShapeNode 绘制一些从 A 点到 B 点的线。线很宽,我需要圆角以使其更漂亮。

经过一些搜索,有一个 CGPathCreateWithRoundedRect,但我不确定它是否可以画对角线。

我尝试在行首和行尾添加一个圆,但结果并不完美,特别是如果我在圆和行上都使用 glowWidth。

这是我画线的方式:

SKShapeNode *yourline = [SKShapeNode node];
CGMutablePathRef pathToDraw = CGPathCreateMutable();
CGPathMoveToPoint(pathToDraw, NULL, from.x, from.y);
CGPathAddLineToPoint(pathToDraw, NULL, to.x, to.y);
yourline.path = pathToDraw;
[yourline setStrokeColor:[UIColor redColor]];
[nodeGridLines addChild:yourline];

我是 spritekit 的新手,也许还有其他方法可以做我想做的事。 如果我可以在我的线条上使用一些纹理,那就太好了。

最佳答案

您可以使用 SKShapeNode 的 lineCap 属性。

    UIBezierPath *linePath = [UIBezierPath bezierPath];
    [linePath moveToPoint:CGPointMake(500, 300)];
    [linePath addLineToPoint:CGPointMake(550, 350)];
    SKShapeNode *lineNode = [SKShapeNode shapeNodeWithPath:linePath.CGPath];
    lineNode.lineCap = kCGLineCapRound;
    lineNode.lineWidth = 10;
    [self addChild:lineNode];

结果:

enter image description here

关于ios - 带圆角的 Spritekit 线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26383389/

相关文章:

objective-c - 无法在Xcode中更改产品名称

ios - 两个UIDatePicker之间的间隔时间不同

ios - Swift - 获取下一个日期

ios - 如何获得更新的 Apple 开发证书和 Provisioning Center

objective-c - 将自定义 ViewController 分配为窗口的 rootViewController

ios - 如何从 JSON 字符串解析 URL?

objective-c - 上下文模式?为什么 Core Data 需要它?

ios - 页面加载后 NSNotification 发送的数据为空白

ios - Xcode 9 - "Fixed Width Constraints May Cause Clipping"和其他本地化警告

ios - 在 UIViewController 中创建没有箭头并居中的 PopOver